Как кодировать на клиенте `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 на свой сервер:)