What about the transaction without finishing?

What about the transaction without finishing?

After a few hours, will the transaction be canceled and refunded to the user?

Is it possible to cancel the transaction at the code level without finish transaction?

I have to process the DB process before finishing the transaction, but if the DB processing fails, I don't know if I have to do finish transaction or not.

If I shut down the app without finishing transaction, how can I finish this transaction again?
Can you provide some additional details as to the purchase process you're asking about. If the app receives a .purchased transactionState indication, but there is some issue validating the transaction or the purchased content is not made available to the user, then don't call finishTransaction. The use of finishTransaction is to be used to acknowledge to the App Store server that the app process finds that the transaction is valid and that the content has been made available to the user. If finishTransaction is not made, then the next time the transactionObserver fires, the app will get another chance to process the transaction.

In the case of deferred processing for example when the app is relaunched and makes the addTransactionObserver call from the didFinishLaunchingWithOptions app delegate method, the transactionObserver detects the queue transaction and will process it again - via a call to the updatedTransaction delegate method with the .purchased transactionState. Your server can take another review of validating the appStoreReceipt to verify the transaction.

I'm curious as to what you mean by "DB processing fails". Please clarify.

rich kubota - rkubota@apple.com
developer technical support CoreOS/Hardware/MFI
What about the transaction without finishing?
 
 
Q