收藏
回答

求问wx.requestPayment接口调用之后能不能加入自己的判断限制库存?

调用微信支付接口后,能不能在输入密码后付款之前加入自己的逻辑判断库存是否足够,不够就支付失败。或者有什么其他办法防止相同物品被多人同时支付吗,我目前想到的只能是支付成功后再退款,但是最好是直接让支付失败

回答关注问题邀请回答
收藏

2 个回答

  • sun
    sun
    发表于小程序端
    1天前

    锁库存啊,不管用户付没付款,下单以后库存就-1,没库存了其他人无法下单,也不会出现多人同时购买一个商品。目前购物平台都是这样的

    1天前
    有用
    回复 3
    • Q
      Q
      1天前
      我是锁了,不知道啥时候解锁,目前是锁两分钟。但上一个人万一购买时间超过两分钟
      1天前
      回复
    • sun
      sun
      1天前回复Q
      那你这样的只需要在订单生成后1分50秒左右,调用微信支付的关单api,把用户未支付的单关闭就行,关闭的支付单无法支付。问题解决
      1天前
      回复
    • Q
      Q
      1天前
      哦哦这方法好像可以谢谢你
      1天前
      回复
  • 正好时光
    正好时光
    1天前

    前端是没办法完全拦截,后端创建订单的时候去拦截是否还有库存

    1天前
    有用
    回复 5
    • Q
      Q
      1天前
      但是后端拦截的时候已经付款成功了,只有退款了吗
      1天前
      回复
    • 正好时光
      正好时光
      1天前回复Q
      这些数据从哪里拿的,在这个接口里就要拦截
      1天前
      回复
    • Q
      Q
      1天前
      这种倒是能提前拦截,我就是考虑极端情况可能只能在最后阶段拦截。场景:(比如一个人点击付款进入输密码阶段一分钟才输完密码,这时候另一个人进来买,由于上一位还没输密码完成付款所以还是允许购买,第二位购买成功时,第一个人才输完密码)这种情况似乎只能在调用后拦截
      1天前
      回复
    • 正好时光
      正好时光
      1天前回复Q
      创建订单的时候就锁定库存,当支付超时时,在释放库存
      1天前
      回复
    • Q
      Q
      1天前
      好的谢谢了
      1天前
      回复
登录 后发表内容