Skip to main content
Question

Potential failure points when calling purchaseStoreProduct


Forum|alt.badge.img+2

Hi all,

We wanted to confirm the behavior of purchaseStoreProduct and whether a fulfilled promise of this method guarantees that the payment will always be successful. Or is it possible that a transaction created by a successful call of this method can later fail asynchronously? We are using this method to purchase non-subscription, non-renewable, consumable products.

 

Right now we’re assuming that a successful `purchaseStoreProduct` call is evidence that a user has made a valid payment, but would like someone to confirm that we don’t need to handle any other potential asynchronous payment errors via webhooks. 

 

Thanks,

Playback Team

 

 

 

This post has been closed for comments

2 replies

Ryan Glanz
RevenueCat Staff
Forum|alt.badge.img+8
  • RevenueCat Staff
  • 369 replies
  • July 11, 2024

Hi,

A fulfilled promise means that the purchase operation was successful, but it is still possible that the app store will reject the payment. When that happens, we send a BILLING_ISSUE webhook, as well as a CANCELLATION webhook (see: https://www.revenuecat.com/docs/integrations/webhooks/event-flows#billing-issue-flow).

 

In this case, you should wait until you get an EXPIRATION webhook (or see that the subscription is expired in the customerInfo object). This will happen immediately, if you don’t have grace periods enabled, and after a few days, if you do.


Forum|alt.badge.img+2
  • Author
  • New Member
  • 1 reply
  • July 11, 2024

Thanks for the response @Ryan Glanz! Does this same flow apply for non-subscription purchases?


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