App Store Server Notification returns successful purchase while customer's payment remains Pending
We have encountered an edge case with a Non-Renewing Subscription and would appreciate clarification on the expected developer behavior.
Steps to reproduce
- User initiates an in-app purchase using a credit card.
- The purchase succeeds in the app.
- Our backend receives an App Store Server Notification V2 (
ONE_TIME_CHARGE). - We successfully verify the signed JWS transaction.
- The same transaction is also returned by the App Store Server API.
- Based on the verified transaction, we grant the user's entitlement.
However, on the customer's Apple account:
- The purchase is shown as Pending in Purchase History / Report a Problem.
- The customer reports that their credit card has not yet been charged.
Question
From a developer's perspective, should entitlement be granted immediately after receiving a valid App Store Server Notification and successfully verifying the transaction, even if the customer's purchase is still shown as Pending?
Is there any App Store Server API or transaction field that indicates the payment has not yet been settled, allowing developers to delay granting entitlement until the payment is finalized?
Or is the expected implementation to grant entitlement upon successful transaction verification and revoke it only if Apple later sends a refund notification?
Any clarification on the expected workflow would be greatly appreciated.
Thanks in advance. :)