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

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

  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;
};
相关推荐
小码哥0682 小时前
从三甲综合医院到连锁诊所:医院管理小程序的场景化突围逻辑(陪诊系统-陪诊APP-陪诊小程序)
小程序·医院管理系统·陪诊小程序·陪诊系统·陪诊app
2501_916007472 小时前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
正在走向自律4 小时前
用豆包Seed Evolving打造全功能【AI智能记账】小程序,开源可落地
人工智能·小程序·开源·智能记账
小羊Yveesss1 天前
模板建站哪个平台好?模板数量之外还要比较编辑与SEO能力
大数据·人工智能·小程序
2501_916007471 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone
郑州光合科技余经理1 天前
家政O2O平台解析:从0搭建上门预约小程序解决方案
android·java·开发语言·前端·小程序·架构·php
维双云1 天前
小程序商城制作一个需要多少钱?2026报价明细与成本拆解
小程序
郑州光合科技余经理1 天前
家政预约小程序后端源码深度剖析:支付回调实战
java·开发语言·前端·git·小程序·架构·php
电商API_180079052471 天前
导购比价小程序场景|京东联盟商品详情对接方案|多规格图文拉取技术实操
网络·小程序·网络爬虫
北极糊的狐1 天前
钉钉小程序 Git 版本管理完整流程
git·小程序·钉钉