Required Tests & Checklist
To ensure a high-quality user experience and prevent revenue loss, every integration must be verified against this checklist before going live. These tests cover localization, payment variety, and critical edge cases like app interruptions.
The Essential QA Checklist
Test Scenario | Expected Behavior |
|---|---|
1. Price Localization | Shop prices match the currency set in the Aptoide Wallet app. |
2. Payment Success | Purchases complete successfully via Sandbox, Credit Card, and External Payments. |
3. User Cancellation | App handles "Back" or "Cancel" actions gracefully without crashing. |
4. Pending Purchases | Interrupted purchases are resumed and consumed correctly after an app restart. |
5. Fulfillment Flow | The app strictly follows the 5-step lifecycle. (Initiate → Result → Validate → Deliver → Consume) |
Deep Dive: High-Priority Tests
1. Price Localization
The SDK automatically fetches the currency based on the user's Aptoide account settings.
- How to Test: Open the Aptoide Wallet app, change your preferred currency, and return to your app.
- Verification: Ensure the price string returned by
QueryProductDetailsis displayed correctly in your UI.
2. Real Payment Verification (CC & External)
Testing Credit Cards or External Payments (GooglePay, AmazonPay, etc.) involves real transactions.
- Refund Policy: Once you complete these tests, please contact our support team. We will refund these transactions to ensure you are not charged for QA activities.
- Support: We are available to join your testing sessions to help verify these flows in real-time.
3. User Cancellation
Ensure that if a user triggers the payment overlay but decides not to buy, your app receives the cancellation callback and returns the user to the previous state without any "loading" loops or crashes.
4. Handling Pending Purchases (Critical)
Pending purchases occur when a transaction is authorized but the app is closed before the SDK can return the result.
⚠️ Risk: If a purchase is not consumed within 48 hours, Aptoide will automatically refund the user.
- How to Simulate: Trigger a payment, and immediately after clicking "Pay," force-close your game.
- Verification: Restart the app. Your initialization logic must query for existing purchases using the
queryPurchasesAsyncmethod from the SDK and once the item is delivered trigger the Consume call. - Monitoring: Use our Broker API to check for any pending transactions associated with your package name.
5. The Standard Purchase Flow
Verify your code logic follows this sequence for every transaction:
- Purchase Initiated: Your app calls the SDK to start the flow.
- Result Received: Your app listens for the SDK's success/failure callback.
- Validate: Your backend verifies the purchase token (Server-to-Server).
- Deliver: The digital item is granted to the user's account.
- Consume: Your app/server notifies Aptoide the item was delivered. (Do not skip this step!)
Need Help with Testing?
If you encounter an issue that you are unable to resolve, please take a look into our Connectoide Support Agent which will guide you on how to solve your issue. You can find it in the top right corner of your Aptoide Connect account. For an overview of all available support tools, including the Billing SDK Log Analyzer and the Billing SDK Transaction Analyzer, see our Support Tools page.
