Testing in-app purchases
You can test purchase and payment transactions in your app by using: local testing, which simulates purchases, and BlackBerry World sandbox testing, which sends transactions to the BlackBerry World server but doesn’t charge you.
You can test your app in production mode in BlackBerry World, but your purchases will be charged to your account.
You can learn more about each of these methods in the following diagrams:
Payment Options are not available in the System Settings of the BlackBerry 10 Device Simulator. You can only test payment transactions locally on the simulator.
Setting your connection mode to PaymentConnectionMode::Test allows you to use a simulated interface to test in-app purchases.
In Test mode, your app doesn't contact the BlackBerry World server for any transactions that you make. When you test in-app purchases, the purchase options are displayed in a dialog box.
You can choose the response that is returned to the application (either Success or Failure) and you can specify the reason for failure by selecting a standard error code.
You can view a list of successful purchases and test other requests such as requesting prices, subscription terms, and payment information.
When you tap OK, responses are populated with simulated data that is generated by the Payment Service.
In Test mode you can use the purchase data from the transactions you make in the current test session, to test the logic for retrieving past purchases. This is a great initial testing step for any application that sells digital goods.
Testing in the BlackBerry World sandbox
You can use the BlackBerry World sandbox to test in-app purchases. When you use a sandbox user account to purchase digital goods from BlackBerry World, your app sends transactions to the BlackBerry World server but doesn’t charge you when you make a purchase. The sandbox closely resembles the BlackBerry World storefront, so it’s a great way to test purchases in your app. To learn more about using the BlackBerry World storefront and the vendor portal for BlackBerry World, see the BlackBerry World documentation.
To create a sandbox user account, you need to have a BlackBerry World vendor portal membership and you must log in with an Admin level user account. To learn how to create a vendor portal account, see Managing vendor portal accounts.
You can test a new app in the sandbox before it is offered for sale in the BlackBerry World storefront. Or you can add new digital goods to an existing app that is for sale in the storefront, and test the purchase of these new digital goods. There is no requirement that the app that you are testing be in a draft or approved state.
To test the purchase of your digital goods with a sandbox user account:
Sign in to the BlackBerry World vendor portal using your vendor account.
In the left pane, click Sandbox to display the Manage Sandbox User Accounts page. Click Add New User to add the BlackBerry ID associated with your device to the list of sandbox user accounts in the vendor portal.
Add the app you want to test, add a release for the app, and add any digital goods offered in your app to the vendor portal. To learn how to add apps to the vendor portal, see Adding apps to BlackBerry World.
BlackBerry World has a cache, so when you add your app and your digital goods to the vendor portal there might be a delay before they are visible in BlackBerry World on your device.
To turn on Development Mode on your device, swipe down from the top of the screen and tap Settings > Security and Privacy > Development Mode. Tap the Use Development Mode toggle button.
Open BlackBerry World on your device and swipe down from the top of the screen to display the application menu. Tap Settings > Development Mode, then enter the ID or SKU of your app and tap Load to download your app from your vendor account.
The Development Mode screen, where you can enter the ID of your application and download it right from your vendor account, is visible only if your device is in Development Mode.
After you install your app, you can make purchases in your app without being charged, even if your app is listed as a paid app.
All the purchases you make appear as actual purchases, just like the image on the right.
If your app and the digital goods offered in your app are loaded into the BlackBerry World sandbox, you won’t be charged for any of the purchases made in your app. If you make purchases from other paid applications, you will be charged as usual.
Here are some best practices to consider when you use the BlackBerry World sandbox:
- You must set the connection mode to Production to use the sandbox so that the BlackBerry World server is used to complete transactions.
- You can download and test apps in BlackBerry World only if your vendor account is added to the sandbox accounts list in the vendor portal.
- You can download apps in draft status only from BlackBerry World when you use a sandbox user account (any other kind of user account won't work).
- You don't need to remove an existing app from the BlackBerry World storefront to add new digital goods in draft status and test it with a sandbox user account.
- If you add a new app (meta data) and digital goods to the BlackBerry World vendor portal, you must also add a release (application data) in order to test the download and purchase of the digital goods.
- When you add your app and your digital goods to the vendor portal, there may be a delay before they are visible in BlackBerry World on your device.
- You can only retrieve past purchases for the current test session. Digital goods that are purchased in a draft status are not written to the transaction database, so when you end the test session the cache is cleared.
- You can use the sandbox to test apps running only on a physical device. The sandbox does not support the BlackBerry 10 Device Simulator.
Last modified: 2013-09-26