如何使用 base64 对客户端“transaction.transactionReceipt”进行编码?

Posted

技术标签:

【中文标题】如何使用 base64 对客户端“transaction.transactionReceipt”进行编码?【英文标题】:How to encode on client `transaction.transactionReceipt` with base64? 【发布时间】:2014-11-24 21:37:58 【问题描述】:

我正在尝试验证 IAP 并将收据发送到我的服务器,然后我将其发送到苹果服务器进行验证,我正在使用沙盒帐户,并且我一直得到状态 21002(收据丢失或格式错误)。我有 Objective C 代码

SKPaymentTransaction *transaction

对象,我正在发送

transaction.transactionReceipt

到我的服务器,然后打包并传递到苹果服务器。如何在客户端编码

transaction.transactionReceipt 使用 base64 吗?

我需要在客户端 transaction.transactionReceipt 上使用 base64 编码吗?

【问题讨论】:

【参考方案1】:

ios7 开始,还有另一种获取收据数据的方法。这是我的工作:

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

NSData *receiptData = [NSData dataWithContentsOfURL:receiptUrl];

NSString *receiptBase64 = [receiptData base64EncodedStringWithOptions:0];

然后你将receiptBase64发送到你的服务器:)

【讨论】:

以上是关于如何使用 base64 对客户端“transaction.transactionReceipt”进行编码?的主要内容,如果未能解决你的问题,请参考以下文章

[NodeJs] 如何使用nodejs对base64进行编解码?

如何使用 dropzone 上传 base64 图像资源?

如何使用org.apache.commons.codec.binary.base64对Java对象进行Base64编码?

如何在 React 中对输入进行 base64 编码?

如何使用Base64进行加密和解密

Swift 中的 Base64 编码不会在 Android 中解码