微信小程序支付

    科技2025-08-01  14

    基本流程分为以下几步:

    商户接入文档资料商家注册商户号,得到商户密钥之类的东西后台处理前端调用
    逻辑层面

    后台处理:

    调用统一下单接口(API列表里的第一个接口),需要先获取到Openid用户标识,具体可参考该文档(微信小程序登录授权)》》https://blog.csdn.net/dwb123456123456/article/details/84251932五个字段参与签名,除了appid,其他四个参数是微信小程序前端支付接口wx.requestPayment需要用的商户配置页面和项目中的回调地址要一样,是支付完成后微信回调到自己后台的地址

    前端处理:

    代码如下

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9EFGax2h-1602136800294)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201007135312537.png)]

    1.点击⽀付的时候,先触发 wx.login⽅法,拿到微信返回的code值

    2.在wx.login的success回调⾥⾯请求(https://api.weixin.qq.com/sns/

    jscode2session)这个链接通常后台进⾏请求,前端需要把wx.login获取到的code

    值传给后台,后台通过请求这个链接,返回给前端openId, sessionKey, unionId

    3.在第2个请求成功的函数⾥⾯,拿到openid之后,在次请求后台的⼀个账单流⽔接

    ⼝(这个接⼝后台会写,后台会⽤这个openid请求微信⽣成⼀条⽀付流⽔信息返回

    给前端)

    4.在请求账单流⽔接⼝成功⾥⾯,通过wx.requestPayment⽅法调起⽀付,

    wx.requestPayment⽅法需要传的参数在第3步流⽔账单⾥⾯微信返回的数据⾥

    整体流程:

    1)用户进入微信小程序,通过微信小程序发送下单支付请求,到商户系统。(下订单)

    过程拆解:商户系统可以理解为我们自己的商户服务器,存放我们服务器的代码,这个过程就是,用户发送一个请求到我们自己的服务器,

    参数就是商品的一些信息。(下面代码的order_id就是获取订单信息)

    2)服务器调用微信小程序登录API,服务器后台返回openid,商户服务器生成订单,调用统一下单API,返回预付单信息(prepay_id),将组合再次签名。(服务端操作)

    过程拆解:服务器,调用微信登录的API,这时候从服务器拿到用户的openid,拿到openid之后,我们自己的服务器要组合生成一条订单,通过过程1发送过来的商品信息,组合生成一条订单(可以参看统一下单API所需的参数),然后调用统一下单API,这时候微信服务器就返回给了我们prepay_id,我们自己的服务器通过再次签名,可以拿到五个参数和sign

    返回支付参数(5个参数和sign),微信小程序中发起下单请求到我们商户服务器,

    这时候就可把相应的把小程序支付API需要的信息都返回给我们的微信小程序了。(这五个参数是必须的参数)

    4)调用wx.requestPayment,按照规则传入我们需要的信息。

    5)后面就是支付成功失败的回调和显示了。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2DKRVAO-1602136800296)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201007142330958.png)]

    5)后面就是支付成功失败的回调和显示了。

    [外链图片转存中…(img-q2DKRVAO-1602136800296)]

    这五个参数是必须要记住的。

    Processed: 0.019, SQL: 8