Skip to main content

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 QueryProductDetails is 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 queryPurchasesAsync method 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:

  1. Purchase Initiated: Your app calls the SDK to start the flow.
  2. Result Received: Your app listens for the SDK's success/failure callback.
  3. Validate: Your backend verifies the purchase token (Server-to-Server).
  4. Deliver: The digital item is granted to the user's account.
  5. 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.

Connectoide Support Agent button in top right corner