小编Ale*_* Yo的帖子

React Native IAP自动续订订阅检查到期时间

我正在尝试使用https://www.npmjs.com/package/react-native-iap/v/4.0.8恢复并检测 iOS 上自动续订订阅的结束 通过调用 getAvailablePurchases() 我得到不同数量的每次我调用此函数时都会购买(例如 7,下次 23,然后 4..)。这对我来说毫无意义。我知道每月订阅的订阅可每 5 分钟续订一次。我的想法是购买最新的商品,然后检查收据中的过期日期。(目前我正在解析所有这些,这不是最佳实践)。另一件事是,我检测到多个具有不同交易收据的活跃购买,即使只有一个活跃的购买。

RNIap.getAvailablePurchases().then((purchases) => {
            if(purchases != undefined && purchases.length > 0){
                alert(purchases.length + ' purchases');
                purchases.forEach((purchase) => {
                    const receiptBody = {
                        'receipt-data': purchase.transactionReceipt,
                        'password': appSubscriptionId
                    };
                    RNIap.validateReceiptIos(receiptBody, true).then((result) => { // false for production
                        let from, to, lastRenewal = '';
                        if(result.status == 0){ // 0 means receipt is correct..
                            result.latest_receipt_info.forEach((info) => { 
                                if(this.dateIsInFuture(info.expires_date)){
                                    to = moment.utc(info.expires_date, "YYYY-MM-DD HH:mm:ss").toString();
                                    from = moment.utc(info.original_purchase_date, "YYYY-MM-DD HH:mm:ss").toString();
                                    lastRenewal = moment.utc(info.purchase_date, "YYYY-MM-DD HH:mm:ss").toString(); …
Run Code Online (Sandbox Code Playgroud)

in-app-purchase ios in-app-subscription react-native react-native-ios

6
推荐指数
1
解决办法
4727
查看次数