【发布时间】:2011-04-06 13:40:27
【问题描述】:
从交易的 transactionReceipt 属性中检索收据数据并使用 base64 编码对其进行编码。
如何使用 base64 编码对 NSData 进行编码?请给出代码。
编辑
我做到了。但现在的反应是
{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]];
但是反应是一样的。
你们中的任何人都可以让我知道我可能错在哪里。
谢谢-
【问题讨论】:
-
了解更多上下文会很有帮助。
标签: iphone