共同的接入流程
无论使用支付宝还是微信支付,商户侧都应先创建本地订单,再由服务端发起下单,最后通过异步通知或主动查单确认结果。两者都需要验签、核对金额并防止重复处理。
主要差异来自支付场景
同一种支付方式在电脑浏览器、手机浏览器、应用内网页、小程序或APP中的唤起方式可能不同。接口返回的内容也可能是跳转链接、二维码、URL Scheme或其他支付参数,商户程序应根据实际返回字段处理,不能固定假设一定返回二维码。
支付宝接入注意事项
- 区分电脑网页、手机网页和客户端内打开等使用场景。
- 浏览器返回商户页面只用于展示,订单更新仍以服务端结果为准。
- 支付链接应原样使用,避免前端框架再次编码或截断参数。
微信支付接入注意事项
- 微信内网页、普通手机浏览器、小程序和扫码支付的能力不同。
- 部分场景对域名、授权目录或客户端环境有额外要求。
- 二维码应由有效的返回内容生成,不要长期缓存已经过期的支付地址。
为什么测试正常,用户却打不开
常见原因包括用户所处浏览器环境不同、支付链接过期、域名或授权配置不匹配、客户端拦截跳转,以及前端把返回参数二次编码。排查时应记录支付方式、设备类型、浏览器环境、接口返回类型和发生时间。
选择支付方式的建议
先根据自己的用户设备和业务场景选择支付方式,再确认商户后台当前已启用的通道。页面上可以展示可用选项,但服务端仍需处理通道临时不可用、下单失败和订单超时等情况。