微信小程序接入微信支付流程

简介: 微信小程序接入微信支付流程

一、基本介绍

1、支付场景:点击支付按钮唤起微信支付弹窗,输入正确密码后完成支付。
2、基本流程:点击支付按钮首先生成一个订单,然后在后端调用微信api接口进行统一下单,将接口返回的数据回传到前端拉起支付操作,然后异步通知支付结果。

二、配置信息

1、微信公众平台配置

点击功能 – 微信支付,关联一下注册好的微信商户平台
在这里插入图片描述

1、微信商户平台配置

(1)设置证书和密钥
登录微信商户平台,点击账户中心 – API安全,设置证书和两个密钥(此处两个密钥设置为相同的。
在这里插入图片描述(2)申请JSAPI支付
①点击产品中心 – 我的产品 ,点击申请JSAPI支付。
在这里插入图片描述②填写支付授权目录
开发配置中需要填写支付授权目录(后端服务器域名)
在这里插入图片描述

三、编码实现

1、获取用户的openId

必须要有微信用户的openid才可以唤醒支付功能。openid由微信公众号提供,是对于消费者微信产生的唯一用户身份标识。
获取方法:https://blog.csdn.net/m0_46613429/article/details/125868514

2、获取prepay_id和支付签名验证paySign

商户在小程序中先调用接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易后调起支付。
(1)调用接口生成预支付订单拿到订单id

orderInsert(data).then(res => {
  if (res.data.code === 1) {
     this.getPayInfo(res.data.data.id)
   } else {
     wx.showToast({
       title: res.data.msg,
       icon: 'none'
     })
   }
})

(2)通过订单id调用接口获取用户支付所需参数

getPayInfo(id) {
  unifiedOrder({id}).then(res => {
        if(res.data.code === 1) {
            this.payMoney(res.data.data)
        } else {
      wx.showToast({
         title: res.data.msg,
         icon: "error"
       })
     }
  }
}

(3)通过wx.requestPayment方法调用起支付功能
在这里插入图片描述

payMoney(moneyData) {
    wx.requestPayment({
      timeStamp: moneyData.timeStamp,
      nonceStr: moneyData.nonceStr,
      package: moneyData.packageValue,
      signType: moneyData.signType,
      paySign: moneyData.paySign,
      success(res) {
        
      },
      fail(res) {
        wx.showToast({
          title: "支付失败!",
          icon: "error"
        })
      }
   })
}

四、流程总结

(1)小程序获取微信openId以及订单号传给后台
(2)后台根据openId和订单号进行签名post微信统一下单接口
(3)后台获取微信返回的xml字符串解析二次签名后返回给前端
(4)前端调起微信支付API

相关文章
ly~
|
7天前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
39 6
|
27天前
|
移动开发 小程序 JavaScript
uni-app开发微信小程序
本文详细介绍如何使用 uni-app 开发微信小程序,涵盖需求分析、架构思路及实施方案。主要功能包括用户登录、商品列表展示、商品详情、购物车及订单管理。技术栈采用 uni-app、uView UI 和 RESTful API。文章通过具体示例代码展示了从初始化项目、配置全局样式到实现各页面组件及 API 接口的全过程,并提供了完整的文件结构和配置文件示例。此外,还介绍了微信授权登录及后端接口模拟方法,确保项目的稳定性和安全性。通过本教程,读者可快速掌握使用 uni-app 开发微信小程序的方法。
57 3
|
6天前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
2月前
|
移动开发 小程序 前端开发
|
2月前
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
2月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
2月前
|
小程序 前端开发 持续交付
小程序全栈开发中的CI/CD流程与自动化部署是一种高效的开发模式。
本文探讨小程序全栈开发中的CI/CD流程与自动化部署,介绍持续集成与部署的概念,包括自动化构建、测试、代码审查及部署实践。通过提高代码质量、迭代速度及团队协作效率,确保小程序稳定运行与良好用户体验。
60 2
|
2月前
|
小程序 开发者
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
这篇文章介绍了微信小程序的初始化过程,包括如何注册微信小程序账号、下载微信小程序开发者平台,并指导了新建小程序的详细步骤。
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
|
2月前
|
小程序 前端开发 JavaScript
微信小程序实现微信支付(代码和注释很详细)
微信小程序实现微信支付(代码和注释很详细)
|
2月前
|
前端开发 JavaScript API
微信公众号项目,实现微信支付(具体流程和参数)
微信公众号项目,实现微信支付(具体流程和参数)
下一篇
无影云桌面