开发准备:
const appid = ''
const appsecret = ''
const mch_id = ''
const mchkey = ''
const notify_url = ''
const trade_type = 'JSAPI';
const body = '测试微信支付';
const spbill_create_ip = '';
const url = 'https://api.mch.weixin.qq.com/pay/unifiedorder';
前端数据:
let ress = ctx.query
let orderCode = ress.orderCode
let money = ress.money
let openid = ress.openId
1.第一次签名没啥好注意的,跟官网校验工具对比一下就行
2.组装xml的时候 需要跟签名的参数一一对应。
3.拿到组装的xml去统一下单,
4.解析拿到返回的数据,取值 `prepay_id` 和 `nonce_str`,
5.拿到这俩值以后去实现小程序签名
记住,这里要用统一下单后的 `prepay_id` 和 `nonce_str`, 还有一个就是这里的参数要驼峰命名
比如:
let para = {
appId: appid,
nonceStr: nonce_str,
package: "prepay_id=" + prepay_id,
signType: signType,
timeStamp: timestamp,
}
6.所有的签名都是要'MD5'的
返回给前端的'nonce_str'也必须和统一下单返回的值一致。
大致上就遇到这些坑,欢迎补充!