微信支付流程

  1. 创建订单
  • 请求创建订单的 API 接口:把 订单金额、收货地址、订单中包含的商品信息 发送到服务器
  • 服务器响应的结果:订单编号

2.订单预支付

  • 请求订单预支付的 API 接口:把步骤1得到的 订单编号 发送到服务器
  • 服务器响应的结果:订单预支付的参数对象,里面包含了订单支付相关的必要参数

3.发起微信支付

  • 调用 wx.requestPayment() 这个 API,发起微信支付;把步骤2得到的 订单预支付对象 作为参数传递给 wx.requestPayment() 方法
  • 监听 wx.requestPayment() 这个API 的 success,fail,complete 回调函数

示例代码如下(注意:以下代码仅作为示例,实际使用时需要根据业务需求进行调整):

javascript 复制代码
// 1. 用户触发支付
async function onOrderClick() {
  const orderInfo = {
    // 这里填入你的订单信息
  };

  // 2. 调用后端提供的创建订单的 API 向服务端发起请求,将订单信息参数 orderInfo 传给服务端,服务端创建订单,并将订单编号返回给前端
  const orderNumber = await getOrderNumber(orderInfo)

  // 3.调用后端提供的预支付订单的 API 向服务端发起请求,将拿到的订单编号传给服务端,来获取订单预支付参数
  const prepayData= await getOrderPrepayData({orderNumber})

  // 订单预支付参数具体如下:
  prepayData={
    "timeStamp": "xxx", // 时间戳,精确到毫秒级
    "nonceStr": "xxxx", // 随机字符串,长度为32位字符
    "package": "prepay_id=xxxx", // 微信生成的预支付交易会话标识
    "signType": "RSA", // 签名方式,默认为RSA
    "paySign": "xxxx", // 签名值,用于验证签名的正确性
  }

  // 4. 调用支付API
  wx.requestPayment({
    ...prepayData, 
    success: function (res) { // 支付成功后的回调函数
      // 更新订单状态和页面提示信息
      updateOrderStatus(orderInfo);
      showToast({title:'支付成功'});
    },
    fail: function (res) { // 支付失败后的回调函数
      // 显示错误信息或重试逻辑
      wx.showToast({title:'支付失败,请重试'});
    }
  });
}
相关推荐
2401_8459375310 小时前
PHP一键约课高效健身智能健身管理系统小程序源码
微信·微信小程序·小程序·微信公众平台·微信开放平台
程序员入门进阶12 小时前
基于微信小程序的科创微应用平台设计与实现+ssm(lw+演示+源码+运行)
微信小程序·小程序
计算机源码社20 小时前
分享一个基于微信小程序的居家养老服务小程序 养老服务预约安卓app uniapp(源码、调试、LW、开题、PPT)
android·微信小程序·uni-app·毕业设计项目·毕业设计源码·计算机课程设计·计算机毕业设计开题
双普拉斯1 天前
微信小程序点赞动画特效实现
nginx·微信小程序·notepad++
程序员阿龙1 天前
【2025】基于微信小程序的网上点餐系统设计与实现、基于微信小程序的智能网上点餐系统、微信小程序点餐系统设计、智能点餐系统开发、微信小程序网上点餐平台设计
微信小程序·小程序·毕业设计·订单管理·在线点餐·订单跟踪·在线支付
Angus-zoe1 天前
uniapp+vue+微信小程序实现侧边导航
vue.js·微信小程序·uni-app
开利网络2 天前
综合探索数字化转型的奥秘与前景
运维·微信小程序·自动化·产品运营·数字化营销
张人玉2 天前
微信小程序开发——比较两个数字大小
微信小程序·小程序
计算机学姐2 天前
基于微信小程序的食堂点餐预约管理系统
java·vue.js·spring boot·mysql·微信小程序·小程序·mybatis
罗_三金2 天前
微信小程序读写NFC标签(实现NFC标签快速拉起小程序)实战
前端·javascript·微信小程序·小程序