Bogus SKPaymentTransactionState.failed on queue after "Turn Off Renewal Receipt Emails?" popup is dismissed.

Originator:or.yonatan
Number:rdar://FB16850797 Date Originated:Mar 13, 2025
Status:Open Resolved:no
Product:StoreKit Product Version:
Classification:Bug Reproducible:yes
 
please see https://x.com/yonato4/status/1900124559946211522

Since around 10th of February 2025, for some users, after they approve a payment, a new pop-up appears, which asks them if the would like to "Turn Off Renewal Receipt Emails?"

Under the hood, when the user approves the pop-up, a new transaction in sent over the Payment Queue, with an SKPaymentTransactionState.failed, and an error that indicates that the user actively cancelled the purchasing flow (SKErrorDomain Code=2)

After a while (normally a couple of seconds for most users) another transaction appears on the payment queue with state SKPaymentTransactionState.purchased.

This behavior is undocumented, and breaks our purchasing code, as we assume that an SKErrorDomain Code=2 failed transaction indicate that the user actively dismissed the payment sheet.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at feedbackassistant.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!