Как кодировать на клиенте `action.transactionReceipt` с base64?

Я пытаюсь проверить IAP и отправить на мой сервер квитанцию, которую я затем отправляю на сервер Apple для проверки, я использую учетную запись "песочницы" и все время получаю статус 21002 (квитанция отсутствует или повреждена). У меня в Objective C код

SKPaymentTransaction *transaction

объект и я отправляю

transaction.transactionReceipt

на мой сервер, а затем упаковать и перейти на сервер Apple. Как кодировать на клиенте

transaction.transactionReceipt с base64?

Нужно ли кодировать с base64 на клиенте transaction.transactionReceipt?

1 ответ

Решение

Начиная с iOS7 существует еще один способ получения данных чека. Вот что я делаю:

NSURL *receiptUrl = [[NSBundle mainBundle] appStoreReceiptURL];

NSData *receiptData = [NSData dataWithContentsOfURL:receiptUrl];

NSString *receiptBase64 = [receiptData base64EncodedStringWithOptions:0];

Затем вы отправляете квитанцию ​​Base64 на свой сервер:)

Другие вопросы по тегам