小程序支付接入流程
2026/5/13 2:55:23 网站建设 项目流程

小程序支付接入流程

注册微信支付商户号在微信支付官网注册商户号,完成资质审核和账户验证。确保商户号与小程序主体一致。

配置支付域名在小程序后台配置request合法域名,添加https://api.mch.weixin.qq.com。同时配置downloadFile合法域名用于退款证书下载。

获取API密钥登录微信支付商户平台,在【账户中心】-【API安全】中设置32位API密钥。该密钥用于签名生成和验证。

开发支付功能调用统一下单接口pay/unifiedorder生成预支付订单。需传递小程序appId、商户号mch_id、随机字符串nonce_str等参数。

wx.requestPayment({ timeStamp: '', nonceStr: '', package: '', signType: 'MD5', paySign: '', success(res) {}, fail(res) {} })

支付签名生成方法

参数排序将所有待签名参数按ASCII码从小到大排序,排除空值和sign参数。

拼接字符串使用key=value格式拼接参数,最后加上&key=API密钥。例如:appid=wx123&mch_id=456&nonce_str=789&key=your_key

生成签名对拼接字符串进行MD5加密,结果转为大写即得到签名sign。PHP示例代码:

function makeSign($params, $key){ ksort($params); $string = http_build_query($params)."&key=$key"; return strtoupper(md5($string)); }

常见问题处理

支付回调验证在支付通知接口中验证签名,比较微信回调的sign与本地计算的sign是否一致。验证通过后再处理业务逻辑。

证书使用场景退款和转账接口需要双向证书。证书文件包括apiclient_cert.pem和apiclient_key.pem,需从商户平台下载。

错误码处理遇到INVALID_REQUEST时检查参数格式;NOAUTH表示未授权该接口;NOTENOUGH为余额不足。完整错误码参考微信支付文档。

安全规范建议

敏感信息保护API密钥和证书文件禁止提交到代码仓库。建议采用配置中心或环境变量管理。

防重放机制使用nonce_str防止重复请求,服务器需校验nonce_str唯一性。时间戳timestamp建议误差不超过5分钟。

金额校验后端需二次确认支付金额,防止前端参数被篡改。支付结果以微信异步通知为准。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询