通过微信支付订单费用
文章标签
通过微信支付订单费用
本文档介绍如何通过微信支付平台支付订单费用。
前提条件
- 拥有一个微信支付商户号。
- 已在微信支付平台上注册应用并获取AppID和AppSecret。
- 已配置好微信支付回调地址。
步骤
1. 统一下单
调用微信支付统一下单接口生成预支付订单,获取prepay_id。
POST{"appid": "你的AppID","mch_id": "你的商户号","nonce_str": "随机字符串","sign": "签名","body": "订单描述","out_trade_no": "订单号","total_fee": "订单金额(分)","spbill_create_ip": "终端IP","notify_url": "回调地址","trade_type": "JSAPI"
}
复制代码
2. 调起微信支付
使用prepay_id调起微信支付。
function onBridgeReady() {WeixinJSBridge.invoke('getBrandWCPayRequest', {"appId": "你的AppID", "timeStamp": "时间戳", "nonceStr": "随机字符串", "package": "prepay_id=你的预支付订单ID", "signType": "MD5", "paySign": "签名",},function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ) {//支付成功} else {// 支付失败}});
}
复制代码
3. 处理支付结果
支付结果将在回调地址中返回。
POST /回调地址
{"return_code": "SUCCESS","return_msg": "OK","appid": "你的AppID", "mch_id": "你的商户号","nonce_str": "随机字符串", "sign": "签名","result_code": "SUCCESS", "out_trade_no": "订单号","transaction_id": "微信支付订单号","time_end": "支付完成时间","total_fee": "订单金额(分)",
}
复制代码
签名
接口调用过程中需要对请求和响应数据进行签名。签名算法为MD5。
function sign(params, key) {var sortedParams = Object.keys(params).sort().reduce((acc, key) => {acc[key] = params[key];return acc;}, {});var queryString = Object.keys(sortedParams).map(key => `${key}=${sortedParams[key]}`).join('&') + `&key=${key}`;return md5(queryString).toUpperCase();
}
复制代码
示例代码
// Node.js示例
const request = require('request');
const md5 = require('md5');function unifiedOrder(params, key) {params.nonce_str = Math.random().toString(36).substring(7);params.sign = sign(params, key);return new Promise((resolve, reject) => {request.post('https://api.mch.weixin.qq.com/pay/unifiedorder', {body: params,}, (err, res, body) => {if (err) {reject(err);} else {resolve(body);}});});
}unifiedOrder({appid: '你的AppID',mch_id: '你的商户号',body: '订单描述',out_trade_no: '订单号',total_fee: '订单金额(分)',spbill_create_ip: '终端IP',notify_url: '回调地址',trade_type: 'JSAPI',
}, '你的密钥').then(res => {// 处理统一下单结果
}).catch(err => {// 处理错误
});
复制代码
注意事项
- 回调地址必须与注册时配置的回调地址一致。
- 签名必须正确,否则会收到"签名错误"的错误提示。
- prepay_id的有效期为2小时,超时后需要重新获取。
参考
- 微信支付统一下单API
- 微信支付回调签名验证
版权声明
本文仅代表作者观点,不代表任何立场。
本文系作者授权发表,未经许可,不得转载。
上一篇:选择一家信誉良好的刷赞微信自助下单平台 下一篇:系统自动开始刷赞,完成订单