Ответ Inapp становится купленным, даже если платеж находится в ожидании в истории покупок пользователя.

Есть ли шанс получить купленный ответ от Apple на ожидающую транзакцию. История покупок в приложении пользователя показывает транзакцию в состоянии ожидания, но наш метод paymentcompleted вызывается.


person Graycodder    schedule 04.02.2020    source источник
comment
Какой способ оплаты завершен? Где? В коде вашего приложения? На вашем сервере? Когда вы вызываете этот метод? Можно ли вызвать этот метод без вызова completeTransaction? Что, если вы отметите платеж как завершенный, но в течение completeTransaction произошел сбой в сети? Тогда у вас может быть незавершенная транзакция в очереди. Обрабатывает ли ваше приложение ожидающие транзакции при запуске? Можете ли вы показать соответствующий код?   -  person Paulw11    schedule 04.02.2020


Ответы (1)


Вы можете проверить получение в пакете приложений, используя

NSData *aData = [NSData dataWithContentsOfURL:[[NSBundle mainBundle] appStoreReceiptURL]];

если данные присутствуют, подтвердите квитанцию ​​​​в магазине приложений для режима песочницы @"https://sandbox.itunes.apple.com/verifyReceipt" для рабочего режима @"https://buy.itunes.apple.com/verifyReceipt"

NSString *encodedReceipt = [aData base64EncodedStringWithOptions:0];
    NSError *error;
    NSHTTPURLResponse *response = nil;
    NSDictionary *parameters = @{@"receipt-data":encodedReceipt,@"password":@"inapp_pwd"};

HTTP-метод POST

проверьте этот ответ, вы получите статус

person AJ Sanjay    schedule 05.02.2020