合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 微信支付下单支付 * [ ] 微信支付的流程 ![](https://img.kancloud.cn/4f/fa/4ffa34cabc0a9f657cf920eb33c468e5_540x446.png) * [ ] 小程序微信支付和传统微信支付的不同 ![](https://img.kancloud.cn/aa/7d/aa7d4816dc36e101762399575071ad59_954x408.png) * [ ] 借助云开发实现小程序微信支付 - 需借助安装`tenpay` `npm i tenpay` - `tenpay`文档 [https://www.npmjs.com/package/tenpay](https://www.npmjs.com/package/tenpay) - 前端代码 ```html <button bindtap="test">支付</button> ``` - js代码 ```javascript test:function(){ wx.cloud.callFunction({ name: 'onmypayment' }).then(res=>{ let result = res.result; wx.requestPayment({ timeStamp: result.timeStamp, nonceStr: result.nonceStr, package: result.package, signType: result.signType, paySign: result.paySign, success:res=>{ console.log('支付完成') }, fail:error=>{ console.error('Error') } }) }) }, ``` - 云函数代码 ```javascript // 云函数入口文件 const cloud = require('wx-server-sdk') const tenpay = require('tenpay') cloud.init() // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const config = { appid: '公众号ID', mchid: '微信商户号', partnerKey: '微信支付安全密钥', // pfx: require('fs').readFileSync('证书文件路径'), notify_url: '支付回调网址', // spbill_create_ip: 'IP地址' } const api = new tenpay(config); return await api.getPayParams({ out_trade_no:'134564613',//订单号 body:'这是一个商品', total_fee:'1',//1分钱 openid: wxContext.OPENID }) } ```