Things To Remember

This section exclusively lists the important terms and guidelines to follow while integrating with Payments Module.


  • Payments Module, Billing Service, and Payments Service may have been used interchangeably.
  • Depletable, non-depletable products are also referred to as consumable and non-consumable products/resources
  • Entitlement of content/product may also be referred to as delivery or allotment.

Purchase Verification

Purchase verification is an essential step within the purchase lifecycle. Payments module offers purchase verification using a Public key and a verifyPayment API.

Consuming Purchases

The consumption of purchase refers to the processing of purchase and granting the entitlement of the product (product delivery) to the user.

  • The user can place multiple purchase orders for the same consumable product.
  • Please verify that the first purchase is consumed, i.e., processed and delivered to the user, before processing a subsequent order/re-purchase of the product by the same user.

Non-consumable Products

To enable non-consumable products as in-app purchases, you will need to write an implementation for your app/game based on the following logic:

  • List the product for purchase to the user.
  • After the user makes a purchase, disable or hide the said product for that user.
    • Disabling or hiding the product will effectively limit the purchase to once per user, making it a non-consumable product.

Refund Processing

If you have integrated Payments module with your app/game, any refunds for in-app purchase orders must be processed as illustrated below.

To process the refund:

  • The user has to contact us at with the orderId of the purchase.
    • The orderId will be available within the purchase receipt generated after payment.
    • We will verify the orderId associated with your order.
      • If required, we will also verify with the developer if the refund should be processed.
    • Once the orderId is verified, we will process the refund back to the original payment source of the said order.
  • After the refund is processed, we will send an email confirmation to both the user and the developer.

Purchase Callback Implementation

If you wish to implement a callback with the purchase flow, you can do so. The following steps will help you set up a callback:

  • Refer to the initiatePurchaseFlow method within
  • Locate .setDeveloperPayload(string), where string should be replaced with a string you wish to pass during purchase. Example: setDeveloperPayload(123sf456).
  • This string will be passed back to onPurchasesUpdated.

Need help?

Contact us at, and we will be happy to assist you.

Text copied to clipboard
Link copied to clipbord
Questions? Please reach out to us at