Я хочу реализовать покупку расходных материалов из приложения для разрабатываемого мной приложения для iOS. Я хочу проверить квитанцию на стороне сервера, как указано в документация:
- Приложение запускает транзакцию с запросом в Apple Store
- Квитанция о возврате Apple Store в приложение
- Приложение отправляет квитанцию на доверенный сервер
- Доверенный сервер отправляет квитанцию (в формате base 64) в Apple Store через HTTP POST
- Apple Store отвечает на HTTP POST с проверкой
- Если ответ проверки в порядке, покупка может быть активирована
Меня беспокоит следующая ситуация: пользователь покупает продукт, и Apple Store отправляет квитанцию обратно в приложение (шаги 1,2). Затем, когда приложение пытается отправить квитанцию на доверенный сервер (шаг 3), соединение разрывается. В этом случае необходимо повторить проверку квитанции во второй раз, однако у меня есть следующие вопросы:
а) в этом случае, оплатил ли пользователь продукт уже?
б) С момента получения расходных продуктов сравнивать только во время покупки, как следует ли управлять повторной попыткой проверки? Следует ли сохранять квитанцию локально, чтобы повторно отправить ее в будущем? Могу я просто не пометить транзакцию как «завершенную»? Насколько я понимаю, читая документацию, в этом случае StoreKit должен снова вызвать наблюдателя очереди транзакций (снова передать квитанцию?), Пока транзакция не будет помечена как «завершенная», это правильно?
заранее спасибо