Oculus Go Development

On 6/23/20 Oculus announced plans to sunset Oculus Go. Information about dates and alternatives can be found in the Oculus Go introduction.

Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

In-App Purchases Server to Server APIs

S2S REST Requests

Our S2S REST APIs are available as a secure channel to interact with the Oculus Platform. For example, you may wish to track and consume coins purchased through in-app purchases on your trusted server. This prevents any client-side tampering to grant unpurchased gems. Using the S2S APIs are not required, but may be used if you wish.

See the Server-to-Server API Basics page for information about interacting with our APIs.

Parameter Descriptions

skuThe sku for the item, defined when created on the Developer Dashboard.string"50_gems"
fieldsThe IAP fields to display.comma separated list of strings"item{skus},id"

Verify Item Ownership

Verify that a user owns an item.

Example Request

$ curl -d "access_token=$USER_ACCESSTOKEN" -d "sku=$SKU"

Example Response


Consume an IAP Item

Consume an IAP item that a user has purchased.

Example Request

$ curl -d "access_token=$USER_ACCESSTOKEN" -d "sku=$SKU"

Example Response


Retrieve Items Owned

Retrieve a list of items that the user owns.

Example Request

$ curl -G -d "access_token=$USER_ACCESSTOKEN" -d "sku=$SKU" -d 'fields'='item{skus},id'

Example Response

  "data": [
      "id": "963119010431337",
      "item": {
        "sku": "EXAMPLE1"

Test IAP

You can test your IAP integration by creating test users for your organization. These test users have permission to purchase IAP items in your app, including Alpha, Beta, and Release Candidate apps, without using real money. These users will work with all applications in your organization and can be deleted at any time.

Create a test user using the tool in our Developer Dashboard. Information about creating and working with test users can be found in the Test Users section.

Once the test user has been created, log in to that account using the generated email and password you created and add a payment method for the user. Since this user will be testing the IAP checkout flow, add the following credit card numbers to test different IAP flows.

  • Always succeeds - 4111 1177 1155 2927
  • Fails at sale - 4111 1193 1540 5122

These cards only work with test users and can only be used within your organization. When using the test credit cards you must use a valid address, an expiration date that has not already passed, and 111 for the Security Code.

Note: Do not use a real credit card with test users, it will be charged as a regular transaction. Please use the test credit card numbers provided.

Once the test user has been created and payment methods have been added, login to the Oculus Store as the test user and download the app that you would like to test. This entitles the user to the app and allows them to complete the IAP purchase process. Information about downloading test and development builds can be found in the Testing and Releasing Builds section.

Distributing IAP Items with Oculus Keys

You can optionally distribute IAP items with Oculus Keys if your app has been approved for release or key generation. To create a key for your IAP item:

  • Log in to the Developer Dashboard and find your app
  • Navigate to the Distribution > Keys page. If the app has been reviewed by Oculus and approved for release or key generation, the Keys page appears and you have the option to select Create New Oculus Keys.
  • Create a key using the on-page instructions, specifying the SKU for the IAP item you wish to distribute with a key.
  • Click Create when you are finished to display the key.
  • Copy and save the key in a safe place as you cannot retrieve it after you exit this page.