PHP对微信支付V2版本回调以及订单查询(逻辑重制版)

PS:v2版本支付的回调以及订单的查询都已经写过了,昨天在和别人讨论时,对相关的逻辑做出了较大的修改,回调配合订单查询共同使用,提高安全防护; 小程序端JS代码:

getData(){
          
   
    var openid = wx.getStorageSync(openid)
    var userName = wx.getStorageSync(userName)
    // console.log(openid)
    wx.request({
          
   
      url: http://127.0.0.1:2910/wxPayV2/createOrder/createOrderAction.php,
      method:POST,
      header:{
          
   
        content-type:application/x-www-form-urlencoded
      },
      data:{
          
   
        total_fee:1,
        body:0.38mm.pen,
        openid:openid,
        userName:userName,
        goods_id: 1
      },
      success(res){
          
   
        var out_trade_no = res.data.out_trade_no
        wx.requestPayment({
          
   
          nonceStr: res.data.nonceStr,
          package: res.data.package,
          paySign: res.data.sign,
          timeStamp: res.data.timeStamp,
          signType: MD5,
          success(res){
          
   
            wx.request({
          
   
              url: http://127.0.0.1:2910/wxPayV2/queryOrder/queryOrderAction.php,
              method:POST,
              header:{
          
   
                content-type:application/x-www-form-urlencoded
              },
              data:{
          
   
                out_trade_no:out_trade_no
              },
              success(res){
          
   
                console.log(res)
              }
            })
          },
          fail(res){
          
   
            wx.showToast({
          
   
              title: 你取消了支付,支付失败,
              icon: error,
              duration: 2000
            })
          }
        })
      }
    })
  },

PHP代码 回调处理代码 callBackAction.php:

PS:这边是首先对回调返回的结果进行验签操作,验签通过后在数据库中找到这条订单数据,判断该条订单是否是已支付状态,若为待支付再继续对业务结果的判断,继而对数据库相关数据进行修改.

PHP代码 订单查询代码: queryOrderAction.php

PHP代码 查询订单代码: queryOrder.php

PS:此段代码仅供参考,请各位读者按照自身需求进行修改;


经验分享 程序员 微信小程序 职场和发展