我的编程空间,编程开发者的网络收藏夹
学习永远不晚

微信小程序调用支付接口的完整流程记录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

微信小程序调用支付接口的完整流程记录

官方的文档路径------》文档路径:developers.weixin.qq.com/miniprogram…

当然在开发之前,我们需要有下面这些东西:

  • appId(小程序分配)
  • 小程序密钥(小程序配置界面获取)
  • 商户号
  • api密钥(商家后台自己设置)

首先我们要知道把大象放进冰箱拢共需要三步(不是),那么我们调起支付也是一样的

步骤如下:

  • wx.login获取用户临时登录凭证code,发送到后端服务器换取openId

  • 在下单时,小程序需要将商品Id,商品数量,以及openId传送到服务器

  • 服务器在接收到商品Id、商品数量、openId后,生成服务期订单数据,同时经过一定的签名算法,向微信支付发送请求,获取预付单信息(prepay_id),同时将获取的数据再次进行相应规则的签名,向小程序端响应必要的信息(必须字段信息将在下文进行详细说明)

  • 小程序端在获取对应的参数后,调用wx.requestPayment()发起微信支付,唤醒支付工作台,进行支付

1.通过wx.login拿到code,然后请求接口从后台拿去openId

 login() {
    var that=this
    wx.login({
      success(res) {
        console.log(res)
        wx.request({ url: '', 
        data: { code: res.code } })
      },
    })

2.在调起微信支付前需要保证接收到所有我们要传递的值, 在这里是openId,和支付金额。openId以及相应需要的商品信息发送到后端,换取服务端的prepay_id

      let {
        money,
        openId
      } = this.data
     
      let token = wx.getStorageSync('user_token')
      let openList = await request('/接口', {
        ...需要给后端的字段
        openid: openId
      })
      this.setData({
        prepay_id: openList.data.prepay_id
      })

接下来我们就可以写一版调起微信支付接口的数据

let random = (Math.random()).toString() //这个随机数一定要变成字符串
      let timestamp = (new Date().getTime()).toString() //时间戳一定要是字符串
      let mch_key = 'FVmZcEmubX817JRKHmWo1vaVHzte2Oha'
      let obj = {
        appId: 'wxb9811d3b2e3de44c',
        nonceStr: random,
        package: "prepay_id=" + this.data.prepay_id,
        signType: 'MD5',
        timeStamp: timestamp
      }
      //参数名ASCII码从小到大排序(字典序)
      let arr = Object.keys(obj).sort().map(item => {
       return `${item}=${obj[item]}`;
      });
      //最后拼接上key(商户密钥)得到字符串
      let str = arr.join('&') + '&key=' + mch_key;
      console.log(str);
      //对str进行MD5运算,再将得到的字符串所有字符转换为大写
      let paySign = md5.hexMD5(str).toUpperCase()
      wx.requestPayment({
        "timeStamp": timestamp,
        "nonceStr": random,
        "package": "prepay_id=" + this.data.prepay_id,
        "signType": "MD5",
        "paySign": paySign,
        "success": function (res) {
          console.log('成功了');
        },
        "fail": function (res) {
          console.log(res);
          if (res.errMsg === 'requestPayment:fail cancel') {
            wx.showToast({
              title: '用户取消支付',
              icon: 'none',
              duration: 2000
            })
          } else {
            wx.showToast({
              title: res.errMsg,
              icon: 'none',
              duration: 2000
            })
          }
        },
      })

注意:以上信息中timeStamp、nonceStr、prepay_id、signType、paySign各参数均建议必须都由服务端返回(这样会尽最大可能性保证签名数据一致性),小程序端不做任何处理。大家改一下接口和传递的参数就可以啦,这已经是模板 可以直接用!

总结

到此这篇关于微信小程序调用支付接口的文章就介绍到这了,更多相关微信小程序调用支付接口内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

微信小程序调用支付接口的完整流程记录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

微信小程序支付功能完整流程记录(前端)

微信小程序的商户系统一般是以接口的形式开发的,小程序通过调用与后端约定好的接口进行参数的传递以及数据的接收,下面这篇文章主要给大家介绍了关于微信小程序支付功能(前端)的相关资料,需要的朋友可以参考下
2023-02-18

Python3微信支付(小程序支付)V3接口的实现

本文主要介绍了Python3微信支付(小程序支付)V3接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-17

微信小程序支付接口实例分析

这篇文章主要介绍“微信小程序支付接口实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“微信小程序支付接口实例分析”文章能帮助大家解决问题。  小程序调起支付API 小程序调起支付数据签名字段列表
2023-06-26

如何使用nodejs搭建微信小程序支付接口

这篇文章主要介绍“如何使用nodejs搭建微信小程序支付接口”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用nodejs搭建微信小程序支付接口”文章能帮助大家解决问题。支付流程一、向后端服务器
2023-07-04

使用nodejs搭建微信小程序支付接口的详细过程

前段时间做微信支付,遇到了很多坑,网上也没有讲解的特别明白的,通过借鉴各路人才的经验,最后也完成了,下面这篇文章主要给大家介绍了关于使用nodejs搭建微信小程序支付接口的详细过程,需要的朋友可以参考下
2022-12-27

小程序开通微信支付的流程是什么

这篇文章主要介绍“小程序开通微信支付的流程是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序开通微信支付的流程是什么”文章能帮助大家解决问题。  小程序开通微信支付的流程  最先便是务必要掌
2023-06-26

小程序怎么开发调用微信支付及微信回调地址

本篇内容主要讲解“小程序怎么开发调用微信支付及微信回调地址”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序怎么开发调用微信支付及微信回调地址”吧!首先观看微信提供的文档https://pay
2023-06-30

微信小程序分享及授权获取用户信息接口调整的方法

这篇文章主要介绍了微信小程序分享及授权获取用户信息接口调整的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序分享及授权获取用户信息接口调整的方法文章都会有所收获,下面我们一起来看看吧。调整方案具体如
2023-06-26

如何使用PHP开发微信小程序的支付功能?

如何使用PHP开发微信小程序的支付功能?随着微信小程序的普及,越来越多的开发者开始关注微信小程序的支付功能。在微信小程序中,用户可以通过支付功能实现购买商品、充值账户等操作。本文将介绍如何使用PHP开发微信小程序的支付功能,并提供具体的代码
2023-10-26

编程热搜

目录