# 微信支付下单支付
* [ ] 微信支付的流程

* [ ] 小程序微信支付和传统微信支付的不同

* [ ] 借助云开发实现小程序微信支付
- 需借助安装`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
})
}
```