2.0.0-alpha3
(我也尝试过1.1.5,同样的问题)
的iOS
validateReceiptIos为有效收据返回0/1 / true
validateReceiptIos始终返回false
真实设备,沙箱应用商店
我能够成功进行自动续订订阅的购买,并收到交易收据。 当我尝试使用validateReceiptIos(receiptBody,true,55)在iOS上对此进行验证时,我总是返回false。
如果我登录JSON.stringify(res)我得到:
{“状态”:21004,“环境”:“沙盒”}
#190也有类似的问题
您将日志插入到哪一行? 🤔
另外,您正在运行什么版本的React Native?
@fabianunger奇怪。 应该固定在#190中。 您可以共享一些代码吗?
“反应”:“ ^ 16.3.2”
“ react-native”:“ ^ 0.55.3”
```
验证=异步(产品)=> {
尝试{
console.log(product);
const receiptBody = {
'receipt-data': product.transactionReceipt,
};
console.log(receiptBody);
const result = await RNIap.validateReceiptIos(receiptBody, true, 55);
console.log(result);
} catch(err) {
console.warn(err.code, err.message);
Alert.alert(err.message);
}
};
```
@fabianunger您可以尝试使用此版本,看看是否提供了更详细的错误消息吗?
npm install LinusU/react-native-iap#ios-validate
@LinusU @dooboolab
我刚刚将共享密钥添加到了receiveBody中,现在可以解决了。
也许我只是在文档中的某个地方错过了它? 还是那不是应该发生的方式?
const receiptBody = {
'receipt-data': product.transactionReceipt,
'password': '*********'
};
(仍使用2.0.0-alpha3版本)
@LinusU
我也用您的版本进行了测试:结果相同。
作为回应,我得到了{“ status”:21004,“ environment”:“ Sandbox”}。
通过将共享密钥添加为receiveBody中的“密码”来工作。 总的来说:这是常规方式吗?
@fabianunger您做对了。 欲了解更多信息参考这里。 将文档更新为好将是很好的。
什么是shared secret
,在哪里可以找到?
什么是
shared secret
,在哪里可以找到?
https://www.appypie.com/faqs/how-can-i-get-shared-secret-key-for-in-app-purchase
返回{status:21007},以“生产模式”验证收货人,任何人都可以帮助mw。
提前致谢
最有用的评论
@LinusU @dooboolab
我刚刚将共享密钥添加到了receiveBody中,现在可以解决了。
也许我只是在文档中的某个地方错过了它? 还是那不是应该发生的方式?
(仍使用2.0.0-alpha3版本)