ПРИМЕЧАНИЕ. Это для Mac OS X, а не для iOS.
У меня есть клиентское приложение, которое позволяет совершать покупки в приложении. Квитанции должны быть отправлены на сервер, где сервер выполняет некоторую операцию, когда получает заказ. Операция, которую выполняет сервер, стоит мне немного денег, поэтому мне нужно быть особенно осторожным, чтобы квитанции были действительными и использовались только один раз. Я ищу лучший способ спроектировать это.
Похоже, я получаю квитанцию из storekit, когда пользователь завершает покупку. Когда я отправлю это на свой веб-сервер (с WCF), он проверит получение, отправив JSON в Apple. Когда Apple подтвердит получение, она выполнит операцию, которая будет стоить мне немного денег. Во время проверки квитанции мое исследование говорит мне, что расходная квитанция всегда будет действительной и на самом деле не «потребляется». Должен ли я просто отслеживать каждую квитанцию, когда-либо отправленную на мой сервер, и следить за тем, чтобы она не использовалась? Я сделаю все, что в моих силах, чтобы поддержать этот список, но я боюсь, что в какой-то момент он потеряется, и надеюсь на другой способ.
Другая моя проблема заключается в том, что, поскольку расходные квитанции не могут быть восстановлены через storekit, если что-то случится, например, пользователь потеряет питание сразу после завершения покупки, пользователь не получит продукт, потому что нет никакого способа получить эту квитанцию. Это просто риск, на который мы должны пойти, или я что-то упускаю из виду? Похоже, единственная реальная разница между расходными и нерасходными покупками заключается в том, что вы не можете восстановить расходные материалы.