Skip to main content
Question

[Android] Slow test card payments are refunded due to lack of acknowledgment


Forum|alt.badge.img+1

I’m encountering an issue where payments made using a slow test card are eventually refunded because they aren’t acknowledged in time.
 

Environment:

  • Google Sandbox environment and slow test card
  • Android SDK 8.11.0
  • Real-time Developer Notifications have been configured as described here

STR:

  1. Purchase a non-consumable (lifetime subscription) using a slow test card
  2. While the transaction remains pending, close the app and wait approximately 7 minutes
  3. Reopen the app

Expected Result: The user has the non-consumable (lifetime subscription), and the payment completes successfully

Actual Result: The user does not have the non-consumable (lifetime subscription), and the payment is refunded. Also, there is an email from Google indicating the purchase was cancelled due to lack of acknowledgment:

This test purchase was cancelled because it was not acknowledged. You should ensure that all purchases are acknowledged so that they are not subject to refunds. For more information, see https://developer.android.com/google/play/billing/integrate#process

 

Is it possible for the RevenueCat backend to automatically acknowledge a pending purchase in this scenario? If yes, how should I configure the sdk to ensure acknowledgments occur before Google refunds the payment?

3 replies

Forum|alt.badge.img+8
  • RevenueCat Staff
  • 509 replies
  • February 12, 2025

Forum|alt.badge.img+1
  • Author
  • New Member
  • 2 replies
  • February 16, 2025

Hi ​@Haley Pace ,
this answer doesn’t cover my question. Google requires that purchases are acknowledged once the transaction has moved to the PURCHASED state. My app is serverless, so it’s possible that after the transaction moves from the PENDING to the PURCHASED state, the user either doesn’t use the app or lacks a network connection. If Google doesn’t receive the acknowledgement within a certain period (5 minutes in case of sandbox), the transaction is reverted with the following message:

This test purchase was cancelled because it was not acknowledged. You should ensure that all purchases are acknowledged so that they are not subject to refunds. For more information, see https://developer.android.com/google/play/billing/integrate#process

 

My question is: is it possible to support acknowledgements using RevenueCat backend? Or is there any other way how to cover this case and avoid refunds due to lack of acknowledgement?


Forum|alt.badge.img+8
  • RevenueCat Staff
  • 509 replies
  • March 6, 2025

Hi ​@dmitry-dc38c1 RevenueCat will automatically acknowledge purchases. 

  1. Purchase a non-consumable (lifetime subscription) using a slow test card
  2. While the transaction remains pending, close the app and wait approximately 7 minutes
  3. Reopen the app

The way that you are testing you are not letting us acknowledge the purchase, by closing the app you are killing the SDK before it can acknowledge. In production, the refund will happen after 72 hours of the purchase not being acknowledged so this scenario shouldn’t happen even with low connectivity as the user will have those 72 hours.


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings