Задать вопрос
@oktolab

Как получить Reciept для проверки совершения платежа на сервере в iOS 7?

Добрый вечер.

Требуется получить Reciept для проверки совершения платежа на сервере в iOS 7.
В документации сказано, что теперь для этого нужно использовать appStoreReceiptURL.

Вот как я получаю его:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
    for (SKPaymentTransaction *transaction in transactions)
    {
        switch(transaction.transactionState) {
            case SKPaymentTransactionStatePurchased:
                {
                    ....
                    NSURL *recieptURL = [[NSBundle mainBundle] appStoreReceiptURL];
                    NSData *recieptData = [NSData dataWithContentsOfURL:recieptURL];
                    NSString *base64Receipt = [self base64forData:recieptData];
                }
                break;
            ...
        }
    }
}


Вот, пример того, что я получаю в результате: pastie.org/8554025 .
При докдировании из этого получается pastie.org/8554022 .
Хотя должен быть JSON примерно такого формата:

{
"receipt": {
"original_purchase_date_pst": "2012-04-30 08:05:55 America/Los_Angeles",
"original_transaction_id": "1000000046178817",
"original_purchase_date_ms": "1335798355868",
"transaction_id": "1000000046178817",
"quantity": "1",
"product_id": "br.com.jera.Example",
"bvrs": "20120427",
"purchase_date_ms": "1335798355868",
"purchase_date": "2012-04-30 15:05:55 Etc/GMT",
"original_purchase_date": "2012-04-30 15:05:55 Etc/GMT",
"purchase_date_pst": "2012-04-30 08:05:55 America/Los_Angeles",
"bid": "br.com.jera.Example",
"item_id": "521129812"
},
"status": 0
}


Как правильно получить Reciept в iOS 7?
  • Вопрос задан
  • 3183 просмотра
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@s0L
appStoreReceiptURL - это receipt на покупку приложения, а не In-App
Для проверки In-App его нужно брать из transaction.transactionReceipt
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы