Leo星星
Leo星星
  • 发布:2022-06-23 10:34
  • 更新:2024-03-10 21:27
  • 阅读:368

请问ApplePay消耗型商品丢单如何处理?

分类:uni-app

最近在这个问题上搞得焦头烂额,麻烦大家给点建议。
我的虚拟商品是星座运势报告,可以多次购买不同生日对应的报告,所以选择了消耗型商品。
使用的代码如下:

uni.requestPayment({  
                    provider: 'appleiap',  
                    orderInfo: {  
                        productid: productid,  
                        username: that.loginInfo.tel  
                        // userid: that.loginInfo.id,  
                        // optimize: true // 设置 optimize: true 解决丢单问题  
                    },  
                    success: res => {  
                        uni.hideLoading()  
                        console.log(res)  
                                                //提交后端  
                        const transactionId = res.transactionIdentifier  
                        const transactionReceipt = res.transactionReceipt  
                        that.applePay(transactionId, transactionReceipt)  
                    },  
                    fail: (e) => {  
                        console.log(e)  
                        uni.hideLoading()  
                        uni.showModal({  
                            content: '支付失败',  
                            showCancel: false  
                        })  
                    complete(e) {  
                        console.log('requestPayment complete', e)  
                    }  
                })  
            },

在这个方法里,经常遇到卡了很久也没有回调的情况,用户直接就关闭了。
(题外话,这里还遇到另一个问题。uni.requestPayment第一次一直不回调,但第二次调用时却直接就支付成功并发送后端了,同时还依然弹出支付,再次造成误操作。不知道是applepay的bug,还是uniapp的bug,还是沙盒的问题。)

看了社区了很多攻略,都是在讲用restoreComplateRequest处理丢单。
但文档里也说了:

restoreComplateRequest作用描述:
已购的非消耗性商品以及订阅商品
丢单的商品(所有类型)
注意事项:丢单的消耗类型商品在支付完成后,首次调用该接口可返回支付凭证

能用于业务上处理丢单的东西,其实应该是我们发给applepay的username,但是解析消耗型商品的支付凭证,里面是没有相关字段的。
所以,restoreComplateRequest好像也帮不上什么忙啊。

请问有没有人同样处理过消耗型商品的,快救救我吧。

2022-06-23 10:34 负责人:iOS_DJX 分享
已邀请:
iOS_DJX

iOS_DJX

  1. 你现在测试环境是沙盒环境吗?
  2. 新的iap 我们已经优化了2.0 版本 近期会上 届时可以用新的优化过的版本再试一下
  • Leo星星 (作者)

    嗯,目前就等着这个了。

    2022-06-24 16:44

bwj2022

bwj2022 - www

重金求答案

要回复问题请先登录注册