微信公众号支付那些事

Jie 2017/10/9

官方技术文档https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4其实已经很清楚了,本文重点说明开发遇到的一些注意事项和tips


本文适用背景:代销,且供应商不愿提供AppSecret...

硬性要求:
1) 供应商的微信公众平台 - 公众号支付 - JSAPI支付授权目录,添加我司收银台URI的上一级目录
[Tip 1]支付授权目录的填写规则,一般是当前页面URI的上一级目录(以左斜杠"/"结尾)。

顺序图:

微信公众号支付那些事

开发:
由于微信授权回调网页域名只允许填写1个供应商域名,所以微信OAuth2.0静默授权必须重定向到供应商URI;
通过重定向带上的code参数,供应商获取access_token和openid,并redirect我司收银台URI。
[Tip 2]获取code请求https://open.weixin.qq.com/connect/oauth2/authorize,注意其参数state(最多128字节)重定向后会随code原样带回,可当作localStorage功能用以避免重定向后关键数据被浏览器清空...
微信异步通知商户支付结果,供应商再回调通知我司后端;我司前端通过查询我司后端的合同支付状态(PENDING, SUCCESS, FAILED)做对应处理。