Я успешно проверил квитанцию ​​​​в песочнице. Теперь я рассматриваю случаи сбоя. В этом случае, когда пользователь выключает мобильный телефон после покупки до того, как квитанция отправляется на сервер, и не работает на мобильном телефоне в течение нескольких дней. Как я могу справиться с этим? понятия не имею. Кто-нибудь может мне помочь? Спасибо, Амутаприя К.

0
Amutha Priya 29 Ноя 2019 в 10:03

1 ответ

Не завершайте транзакцию с Apple до тех пор, пока вы не подтвердите и не зарегистрируете покупку на своем сервере. Транзакция останется в очереди платежей даже при перезапуске приложения, пока вы ее не завершите.

Вызов finishTransaction: для транзакции удаляет ее из очереди. Ваше приложение должно вызывать finishTransaction: только после того, как оно успешно обработало транзакцию и разблокировало функциональность, приобретенную пользователем.

Документы: https://developer.apple.com/documentation/ storekit/skpaymentqueue/1506003-finishtransaction?language=objc

0
enc_life 2 Дек 2019 в 20:59
Когда я должен отправить данные квитанции на наш собственный сервер? Процесс оплаты перейдет в состояние .purchased только после завершения процесса оплаты, верно?
 – 
Amutha Priya
3 Дек 2019 в 16:24
Это правильно. Вы, вероятно, захотите сохранить информацию на своем сервере после покупки или восстановить в очереди платежей.
 – 
enc_life
10 Дек 2019 в 06:13