V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
metrxqin
V2EX  ›  支付宝

用户中断支付后如何继续支付?

  •  
  •   metrxqin · 2018-03-27 13:58:41 +08:00 · 3197 次点击
    这是一个创建于 2468 天前的主题,其中的信息可能已经有所发展或是发生改变。

    下午好,

    遇到一个逻辑上的难题,我目前的情况是:

    使用 App 支付 SDK,支付宝返回了一个 URL 参数串,客户端拼接此参数串发起支付,如果中途用户中断支付,之后又要支付,我应该重新创建新的订单还是继续此订单,如果继续我应该怎么做?

    7 条回复    2018-03-27 17:50:13 +08:00
    ovear
        1
    ovear  
       2018-03-27 14:14:48 +08:00
    偷懒的做法重新创建,防止过期。

    一般不偷懒的做法,判断有没有过期,没过期以相同的 txid 发起给支 x 付 x 宝,否则创建
    dong3580
        2
    dong3580  
       2018-03-27 14:17:07 +08:00
    我之前做的时候提交到数据库存起来,然后做了一个中间页面,拼参数跳转到支 x 宝支付,如果订单已经支付,则提示错误信息。然后不论有没有支付,都会把这个中间地址发邮件给用户。
    所以支付失败,用户只需要打开这个中间页,就能继续支付了。
    metrxqin
        3
    metrxqin  
    OP
       2018-03-27 15:36:08 +08:00
    @ovear 什么是 txid ?
    metrxqin
        4
    metrxqin  
    OP
       2018-03-27 15:42:09 +08:00
    @dong3580 你这种方式相当于把支付参数缓存下来了。
    ovear
        5
    ovear  
       2018-03-27 15:43:43 +08:00
    @metrxqin #3 交易 ID
    metrxqin
        6
    metrxqin  
    OP
       2018-03-27 15:57:04 +08:00
    https://docs.open.alipay.com/204/105465/ 这是支付宝的 APP 支付文档,里面并没有提到 txid,只有回调接口传来的 trade_no
    cysroad
        7
    cysroad  
       2018-03-27 17:50:13 +08:00
    数据库保存支付订单,服务器提供拼接支付串的接口,客户端调服务器的接口丢给支付宝。
    支付成功后,支付宝会给一个异步的通知,服务器接到请求,修改订单状态。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1473 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:10 · PVG 01:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.