uni-app iap支付跳出app签约支付方式后无法获取request

uni-app iap支付跳出app签约支付方式后无法获取request

# 操作步骤:
- iap内购支付,跳出app到签约支付,然后支付成功后回到app,iap.restoreComplateRequest返回的是空。

# 预期结果:
- 希望签约支付成功后返回app可以调用successCB拿到票据后台验证。

# 实际结果:
- 签约后自动支付,回到app拿不到票据,无法验证支付是否成功,直接丢单。

# bug描述:
[官方文档](https://ask.dcloud.net.cn/article/497)

- 这篇文章说的“恢复购买方法(获取已购的**非消耗性商品和订阅商品**)”,然后又说“注意:如果用户在支付过程中退出了App,或其他情况造成的丢单的**消耗类型商品**在支付完成后,首次调用该接口可返回支付凭证”。
- 但是目前测试出来,跳出app到appstore签约并支付后,回到app拿不到刚才支付的那笔订单。
- iap内购项目是消耗型项目。
- 所以,消耗型到底能不能拿到最新支付的订单票据?目前这种实现方式,如果已签约没任何问题,未签约直接100%掉单啊。
- 目前根据官方的1,2,3,4,5步骤,可以实现漏单补,但是必须得二次发起支付,调用plus.payment.request,然后才会触发补上一单掉单的现象。不然iap.restoreComplateRequest为空。
- 另外,多次调用iap.restoreComplateRequest的话,app会闪退。

![](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20210826/d1187c8250cf260f871689559cac9707.png)

| 信息       | 描述                       |
|------------|----------------------------|
| HBuilderX版本号 | 3.2.2                      |
| 手机系统     | iOS                        |
| 手机系统版本号 | iOS 13.4                   |
| 手机厂商     | 苹果                       |
| 手机机型     | iphone11                   |
| 打包方式     | 云端                       |

更多关于uni-app iap支付跳出app签约支付方式后无法获取request的实战教程也可以访问 https://www.itying.com/category-93-b0.html

回到顶部