V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
SayNight
V2EX  ›  问与答

IAP 支付回调问题

  •  1
     
  •   SayNight · 2018-07-06 10:14:49 +08:00 · 1149 次点击
    这是一个创建于 2340 天前的主题,其中的信息可能已经有所发展或是发生改变。
    SayNight
        1
    SayNight  
    OP
       2018-07-06 10:26:40 +08:00
    我了解的 IAP 支付流程:
    1.客户端请求商品订单
    2.获取 IAP 商品 id
    3.IAP 商品查询
    4.用户支付(向苹果下单参数中有我们的业务订单号)
    5.苹果检查到支付成功或者失败后,会通过代理,回调支付的结果(通知客户端)
    6.客户端发送订单号+支付凭证到服务器
    7.服务器验证凭证是否合法
    8.返回结果到客户端
    9.客户端业务逻辑处理
    现在问题是:一个用户再我们的 app 内,同一个 sku 只能有一笔支付中的订单。
    疑惑:针对同一笔支付操作,4 中的业务订单号,在 5 中回调参数中会不带回来吗?
    诉求:用户可以下 N 笔支付订单(商品不限),回调时,客户端提取苹果回调参数中的业务订单号和支付凭证,然后送往服务端,服务端验证支付结果后,根据客户端传回来的业务订单号,找到对应的订单,并更新对应状态。
    我是服务端开发,询问 IOS 的同事,说苹果回调不保证我们传过去的业务订单号,每次都能带回来,因为苹果通知客户端、客户端通知服务端及两个通知节点之间 app 关闭、手机关机等情况。所以苹果那边应该有回调重试的吧? IOS 那边说回调的时候,他们拿不到业务订单号,请问各位是怎么解决这个问题的?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2663 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:40 · PVG 17:40 · LAX 01:40 · JFK 04:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.