【发布时间】:2021-01-10 12:26:01
【问题描述】:
我正在尝试根据以下内容在 App Store 上验证是否收到自动续订订阅:https://developer.apple.com/documentation/storekit/in-app_purchase/validating_receipts_with_the_app_store
我正在使用带有此模块的 React Native 进行购买:https://github.com/dooboolab/react-native-iap
这是我的代码:
if (Platform.OS === 'ios') {
console.log('PURCHASE IOS IS DONE');
console.log('Transaction Receipt', JSON.stringify({ transaction: purchase }));
RNIap.getReceiptIOS().then(async result => {
console.log('Purchase Receipt', result);
});
}
可变结果给了我这个购买收据:
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
当我尝试通过邮递员或任何其他方式发送它时,Apple 的响应是永远的:
{
"status": 21002,
}
是的,我将带有共享密钥的密码字段添加到请求中。
我知道这意味着当前收据格式错误或其他什么,但我不知道如何处理它,因为它似乎已经是 base64 编码。
有什么想法吗?
【问题讨论】:
标签: ios iphone react-native in-app-purchase