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

微信支付统一下单接口获得的 prepay_id,是否应该缓存呢?

  •  
  •   dangyuluo · 2018-01-21 11:35:03 +08:00 · 9425 次点击
    这是一个创建于 2499 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在做微信支付这里,目前的流程是:

    用户进入支付页面时,服务器根据订单信息,金额等参数向服务器申请一个统一下单 ID,然后传到前台,JS 来调用支付。微信官方的意思是这个统一下单prepay_id有效期是 2 小时,在这之内可以重复使用同一个 ID。那么每次都屌用统一下单获得新的 id,和缓存旧的 id2 小时,各自都有什么优劣呢?

    6 条回复    2018-01-21 17:20:43 +08:00
    airyland
        1
    airyland  
       2018-01-21 11:37:01 +08:00
    缓存,因为一般电商流程订单过期时间是 30 分钟。
    codeeer
        2
    codeeer  
       2018-01-21 11:46:45 +08:00 via iPhone
    缓存它没意义,每次提交充值时都用新的不好嘛?
    gdtv
        3
    gdtv  
       2018-01-21 11:48:44 +08:00
    我缓存了。
    每调用一次统一下单接口,不管有没有付款成功,都会在微信商户中心生成一条订单记录,如果不缓存,买家多次点击购买但不付款,就会生成很多条记录,虽然没什么坏处,但看着不爽。
    sdrzlyz
        4
    sdrzlyz  
       2018-01-21 15:30:07 +08:00 via Android
    区别在于缓存的话,直接拿自己缓存的 id 去付款。。。没缓存的话,调用微信 api 生成 id,去付款。。。
    metrxqin
        5
    metrxqin  
       2018-01-21 17:16:08 +08:00 via Android
    没有接触过微信支付,但根据你的描述我认为缓存更好,因为假如第一次支付失败的话,用户发起第二次支付少请求了一次服务器,也就意味支付时间没有因为支付失败次数而线性增加。
    qiayue
        6
    qiayue  
       2018-01-21 17:20:43 +08:00
    3 楼的是常用做法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   892 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:40 · PVG 04:40 · LAX 12:40 · JFK 15:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.