应用商店购买订阅验证失败

时间:2017-04-11 18:24:13

标签: ios react-native react-native-in-app-utils

使用:

购买: 的反应天然-应用程式-utils的

验证: 的 IAP-收据验证

成功购买订阅后,我希望每次用户进入应用时都会对其进行验证。

receiptData返回正确的收据字符串。

InAppUtils.receiptData((error, receiptData)=> {
            if(error) {
            } else {
                IOSReceiptValidator.validate(receiptData).then(function (result) {
                }).catch(function (error) {
                });
            }
        });

IOSReceiptValidator:

static async validate(receiptData) {
        try {
            const validationData = await validateReceipt(receiptData);
            console.log(validationData);
        } catch(err) {
            console.log(err.valid, err.error, err.message) // Here is the error
        }
    }

每次验证失败

错误:

“无法在'FileReader'上执行'readAsText':参数1不是'Blob'类型。”

我试图查找我正在使用的库的其他问题,但没有找到问题。 我不确定,但也许与Chrome上的调试有关? (在Real设备上,只需在Chrome中调试) 任何人都有任何想法?

感谢。

1 个答案:

答案 0 :(得分:0)

如果有人遇到同样的问题,我已经使用过" react-native-fetch-blob"解决这个问题。

发布到此网址:

const url = isProduction ? "https://buy.itunes.apple.com/verifyReceipt" : "https://sandbox.itunes.apple.com/verifyReceipt";

内容:

{"receipt-data": receiptData, password: password}

等待响应0进行验证。

如此处所述: https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html

解决。