V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
dangyuluo
V2EX  ›  微信

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

  •  
  •   dangyuluo · Jan 21, 2018 · 9959 views
    This topic created in 3030 days ago, the information mentioned may be changed or developed.

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

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

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