我在苹果里定义了消耗型项目,然后我第一次购买了,之后再次购买的时候就提示"您已购买此App内购买项目。此项目将免费恢复。",但是我明明是消耗型项目啊,后面又试了几次购买都是一样的错误提示,我从网上搜了一下,说是appstore认为购买流程未完成,需要调finishTransaction函数,让appstore知道你这单已经结束了,然后再购买才能正常。请问一下uni-app有没有相关的处理方法呢。
下面是搜索到的信息
问题的关键就是把上次未成功处理的transaction处理完,那么怎么获得上次未处理完的transaction呢,可以通过[[SKPaymentQueue defaultQueue] transactions]获取,我自己是在用户再次购买行为的时候去做的,当用户再次购买的时候,先检查是否有之前未完成的交易,如果有就调用一下finishTransaction。
j***@163.com
- 发布:2019-06-06 21:18
- 更新:2021-04-20 22:30
- 阅读:36616
苹果应用内支付,您已购买此App内购买项目。此项目将免费恢复
分类:uni-app
9 个回复
j***@163.com (作者) - 天天向上
还有苹果支付成功后返回的数据是{"errMsg":"requestPayment:ok"},怎么没有苹果支付完成后receipt-data,正常是苹果支付成功后会返回一段receipt-data数据,然后我再把这个数据传到服务器做验证。receipt-data这个数据要怎么取呢?
j***@163.com (作者) - 天天向上
顶一下,有人知道可以说一下吗
j***@163.com (作者) - 天天向上
再顶~~~
程咬金3斧头
同问 消耗类型项目怎么处理
j***@163.com (作者) - 天天向上
已经解决https://ext.dcloud.net.cn/plugin?id=521
ererere
你好,我在使用你的插件时遇到了问题,我无法获取新一笔支付的结果
如果不使用你的插件
这个是正常执行的
但是,如果前面使用你的插件关闭订单,这个无法执行,从而无法发送苹果的票据到我的接口进行验证,因为他压根不执行
还希望解答下,我的qq 208322001五
90后菜鸟 - 90后
支付成功后 这段有时候会无返回值知道是怎么回事吗
风云杭州
顶一下,遇到同样问题,是非续期订阅。
楼主有不用第三方插件的解决办法吗?
这个问题貌似是偶尔出现的
风云杭州
uniapp 执行uni.requestPayment后,success 函数 自动会执行 finishTransaction 函数的吧?