微信小程序支付配置流程记录
·
微信小程序支付配置流程记录
项目使用的是小程序 wx.requestPayment,对应微信支付里的 JSAPI 支付,不是 Native 支付。
一、服务器和后端配置
后端需要配置以下内容:
小程序 AppID
微信支付商户号 mchId
APIv3 密钥
商户 API 证书 private key
商户证书序列号
支付回调 notify_url
支付回调地址格式一般是:
https://你的正式域名/api/支付回调路径
注意:
必须是 HTTPS
不能用 IP
域名证书要正常
后端接口要能公网访问
二、微信支付商户平台配置
进入微信支付商户平台:
产品中心 -> 开发配置
配置 JSAPI 支付授权目录:
https://你的正式域名/
注意:
要带 https
要以 / 结尾
不要填 IP
不要填后端接口路径
不要填 /api
小程序支付不需要配置 Native 支付回调。
小程序 wx.requestPayment = JSAPI 支付
网页扫码支付 = Native 支付
继续进入:
产品中心 -> AppID账号管理
确认小程序 AppID 已经和当前商户号关联,状态应为:
已关联 / 已授权
三、微信小程序后台配置
进入微信公众平台小程序后台。
配置服务器域名:
开发管理 -> 开发设置 -> 服务器域名
填写:
request合法域名:https://你的正式域名
uploadFile合法域名:https://你的正式域名
downloadFile合法域名:https://你的正式域名
DNS预解析域名:你的正式域名
配置微信支付商户号关联:
支付与交易 -> 微信支付
确认已关联正确的微信支付商户号。
配置订单中心 path:
支付与交易 -> 订单管理 -> 订单信息录入
如果项目有订单详情页,推荐填写:
pages/order-detail/order-detail?orderNo=${商品订单号}
如果暂时只有订单列表页,也可以先填写:
pages/order-list/order-list?orderNo=${商品订单号}
注意:
${商品订单号} 不是实际订单号
这是微信要求的占位符
真实跳转时微信会自动替换
四、小程序代码配置
小程序请求后端接口地址示例:
apiBase: 'https://你的正式域名/api'
支付调用方式:
wx.requestPayment({
timeStamp,
nonceStr,
package,
signType,
paySign,
success() {
// 支付成功
},
fail(err) {
// 支付失败
console.log(err)
}
})
其中支付参数应由后端调用微信支付 JSAPI 下单接口生成。
五、常见错误
requestPayment:fail access denied
常见原因:
小程序 AppID 没有关联商户号
商户平台 AppID 账号管理未授权
小程序后台微信支付未关联商户号
订单管理 path 未录入
当前代码版本/体验版未同步
小程序支付能力未开通或被限制
如果后端已经返回了 prepay_id,但手机仍然拉不起支付,通常说明:
后端预支付成功
问题多半在小程序后台或商户平台权限配置
重点检查:
AppID 是否一致
商户号是否一致
小程序后台是否关联支付
商户平台 AppID 是否已关联
订单管理 path 是否录入
JSAPI 支付授权目录是否正确
六、上线前检查清单
后端接口 HTTPS 正常
小程序 apiBase 是正式域名
微信小程序后台 request 合法域名已配置
微信支付商户平台 JSAPI 授权目录已配置
商户平台 AppID 已关联
小程序后台商户号已关联
订单管理 path 已录入
后端 notify_url 是正式 HTTPS 地址
真机重新编译/清缓存后测试
七、注意事项
不要把真实 AppID、商户号、APIv3 密钥、证书私钥、证书序列号、真实回调地址写到公开文章里
截图时也要打码
日志里的 prepay_id、openid、订单号也建议脱敏
更多推荐


所有评论(0)