小程序云开发实现微信支付注意事项

比较容易出错的是两个地方:

  1. 订单号必须唯一,不能重复,重复就会创建失败

  2. 金额必须是整数(以分为单位),小数会导致创建失败

小程序云开发实现微信支付的代码分为两部分:

  1. 小程序端代码

  2. 云函数代码

小程序端的代码首先调用云函数代码创建一个支付项目,如果创建成功,云函数将返回这个支付项目的相关数据(payment),小程序端用这个数据(payment)来调用微信支付界面,用户开始支付,用户的操作结束后,小程序获得支付结果,成功支付或者未支付。

小程序端

javascript 复制代码
  async onTapPay(e){    
    let paid=false; let This=this;
    let order = new Date().Idealand_ToFileName(); // 订单号,每个订单必须不一样,如果重复会导致订单创建失败
    let totalFee = 1000; // 这里是以分为单位,必须为整数,如果是小时,会导致订单创建失败 
    let data = { order, totalFee }; 
    let res=await wx.cloud.callFunction({  name: 'pay', data }); 
    const { payment } = res.result;  
    if(!payment || !payment.package){ 
      // 订单创建失败
     
    } else { 
      // 订单创建成功,调用支付界面
      wx.requestPayment({
        ...payment,
        success (res) { paid=true; /* 支付成功 */ },
        fail (err) {  /* 支付失败 */ },
      });      
    }
  },

云函数 pay

javascript 复制代码
exports.main = async (event, context) => {
  let {order, totalFee}=event;
  let ps={
    "outTradeNo" : order,  // 支付项目编号,必须唯一,不可重复
    totalFee,              // 以分为单位,必须为整数,不可为小数
    "subMchId" : "1652990403",  // 普通商户号
    "envId": "juyipintest-4gx5k7wu2ab0d08f", // 云环境Id
    "body" : "居意品创意餐厅",          // 这个没有用,随便填
    "spbillCreateIp" : "127.0.0.1",    // 这个没有用,随便填
    "functionName": "payCallBack",     // 这个没有用,随便填
  }; 
  const res = await cloud.cloudPay.unifiedOrder(ps); return res;
};
相关推荐
幽络源小助理2 小时前
SpringBoot+小程序高校素拓分管理系统源码 – 幽络源免费分享
spring boot·后端·小程序
Mr -老鬼3 小时前
移动端跨平台适配技术框架:从发展到展望
android·ios·小程序·uni-app
内存不泄露3 小时前
棋牌预约小程序系统论文
小程序
羊群智妍20 小时前
跨境、合规、垂类全覆盖 2026 GEO五强服务商适配指南
百度·微信·微信公众平台·新浪微博·segmentfault
sheji341621 小时前
【开题答辩全过程】以 微信小程网上书店为例,包含答辩的问题和答案
微信
说私域1 天前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
毕设源码-邱学长1 天前
【开题答辩全过程】以 基于微信小程序的松辽律所咨询系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
+VX:Fegn08951 天前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
说私域1 天前
B站内容生态下的私域流量运营创新:基于AI智能名片链动2+1模式与S2B2C商城小程序的融合实践
人工智能·小程序·流量运营
计算机毕设指导61 天前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven