Операция покупки iOS в действительной квитанции, но не в очереди платежей
При тестировании покупок с помощью пользователя песочницы Apple я каким-то образом генерировал покупки, которые присутствуют в подтвержденной квитанции, но в очереди платежей нет соответствующей транзакции.
Итак, вот что я делаю:
1) При запуске приложения я регистрируюсь в очереди платежей:
[[SKPaymentQueue defaultQueue] addTransactionObserver:self];
2) никакие транзакции не сообщаются через
updatedTransactions:(NSArray *)transactions
3) при добавлении нового платежа все работает вполне нормально и покупка с государством SKPaymentTransactionStatePurchasing
всплывает в
updatedTransactions:(NSArray *)transactions
4) квитанция затем отправляется на сервер и успешно проверяется. Но когда я просматриваю разобранную квитанцию JSON, я также получаю несколько других покупок, которые еще не были завершены (из-за некоторых отладочных тестов).
5) Обычно эти транзакции должны появляться в SKPaymentQueue
когда я перезапущу приложение и закончу. Это также работает для меня сейчас. Но нет никаких соответствующих транзакций для этих нескольких старых. Я получаю только недавно купленный с правильным состоянием SKPaymentTransactionStatePurchased
Даже если я сделаю это, транзакции не будут завершены (потому что их нет в очереди):
for (SKPaymentTransaction *transaction in [[SKPaymentQueue defaultQueue] transactions]) {
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}
Как я могу решить эту сложную проблему?