Transaction data returned by calling interface is null. Invoke the inApps/v1/history interface.

  1. our app integrates Apple Pay, and after the user pays successfully, our server obtains the original_transaction_id.
  2. after we get the original_transaction_id, we call.

The https://api.storekit.itunes.apple.com/inapps/v1/history/ interface. 3.Url of request: https://api.storekit.itunes.apple.com/inapps/v1/history/30000931965136 4.The response result is: {"revision":"0","bundleId":"live.vshow.live.dfgsdb2","appAppleId":1552575331,"environment":"Production","hasMore":false,"signedTransactions":[]} 5.Why is the result of signedTransactions empty?

Replies

The In-App Purchase history API only returns auto-renewable subscriptions, non-renewing subscriptions, and nonconsumables. Fulfilled consumables are not included. If your customer has only purchased consumables, an empty response from this API would be expected.

  • Could you add a note about that in the docs?

    Also, given that this endpoint wont return consumables, and Apple hasn't published the JWKs that the JWS's returned by StoreKit2 are signed with, how can we possibly validate consumables purchases on the server?

    I know how to validate on the client, but we need to validate in a trusted environment, AKA our servers.

Add a Comment

So the only way to notify "consumable purchase refund" is "App Store Server Notifications" .

https://developer.apple.com/documentation/appstoreservernotifications

And we have only one chance to receive it?