Description: I am facing an issue with iOS in-app purchases. When a player initiates a payment, Apple returns a successful payment result. However, after a certain interval of time, I receive another payment success callback with a second order. The appaccounttoken for the second order is the same as the initial one, but the platform order number (transactionid) is different from the first result. I have consulted Apple Developer Support, and they have confirmed that both orders are valid. My concern is, how is this second order generated, and what could be the reason behind the difference in the transaction ID?
I would greatly appreciate any insights or suggestions from the community on understanding the cause of this issue and how to handle these duplicate orders correctly. Thank you in advance for your help!
Post
Replies
Boosts
Views
Activity
I am developing an iOS application that involves online payments. I am using the Apple Pay API to handle the payment process, but I encountered an issue where I receive two callbacks after the user initiates a payment: one synchronous and one asynchronous callback. This has resulted in the generation of two separate orders, and the user is charged twice. The transaction receipts contain identical data, except for the platform order number.
I have contacted Apple Developer Support, and they confirmed that both callbacks represent successfully paid orders. Has anyone encountered a similar issue, and if so, are there any solutions or suggestions to resolve this problem? Thank you!
StoreKit2 miss “priceLocale ”,how to get currencyCode
After the subscription is successful, try to purchase the subscription again. At this time, a window will pop up to remind you that you have subscribed. At this time, when you receive a callback updatedTransactions message, you will get a new transaction identifier and the return status will be ‘SKPaymentTransactionStatePurchased’
Sometimes the transactionIdentifier returned in the updatedTransactions callback is different from the transactionIdentifier parsed based on this ticket.
Sometimes the call to finishTransaction does not succeed in the consumer order.
I am currently testing purchases with Sandbox account.
Purchase auto-renewable subcription
Purchase the subscription again during the period of validity。
Popup saying that "You are currently subscribed to this" is showing with buttons "Manage" and "OK".
when pressing "OK" the payment queue was returning a new receipt (with state SKPaymentTransactionStatePurchased)。
Is that normal?
Is this behavior expected/is a "normal transaction" meant to be "Purchased" or does production use a different state in this scenario? In the event of this is there any way for the App to detect that this purchase was already subscribed and react to it differently say to avoid associating a purchase twice? Some forums indicate that this occurrence should return a state of "Failed" but i have not seen this.