Вы должны отправить квитанцию ​​по адресу "https://sandbox.itunes.apple.com/verifyReceipt" во время тестирования в среде песочницы.



ките данные квитанции из свойства транзакции транзакции и закодируйте их с использованием кодировки base64.

Как я могу кодировать NSData, используя кодировку base64? Пожалуйста, дайте код для этого.

РЕДАКТИРОВАТЬ
Я это сделал. но теперь ответ

{exception = "java.lang.NullPointerException"; status = 21002;}

мой метод подтверждения получателя это

-(BOOL)verifyReceipt:(SKPaymentTransaction *)transaction
{
    NSString *recieptString = [transaction.transactionReceipt base64EncodingWithLineLength:0];
    NSLog(@"%@",recieptString);

    ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://buy.itunes.apple.com/verifyReceipt"]]];

    [request setPostValue:recieptString forKey:@"receipt-data"];
    [request setPostValue:@"95140bdac98d47a2b15e8e5555f55d41" forKey:@"password"];
    [request start];

    NSDictionary* subsInfo = [[request responseString] JSONValue];
    NSLog(@"%@",subsInfo);

    return subscriptionEnabled;
}

где

NSString *recieptString = [transaction.transactionReceipt base64EncodingWithLineLength:0];

возвращает мне строку в кодировке base64.
Я тоже пробовал

NSString *recieptString = [transaction.transactionReceipt base64EncodingWithLineLength:[transaction.transactionReceipt length]];

но ответ такой же.
может кто-нибудь из вас, дайте мне знать, где я могу ошибаться.
Спасибо-

Ответы на вопрос(2)

Ваш ответ на вопрос