微信公众平台+商户平台 公众号支付 总结(即trade_type=JSAPI)追加:小程序

前言:

    因为现在微信公众号和微信商户平台已经是两个相对独立的模块,再加上服务商概念的引入,使得现在微信公众号与支付平台的关系变得十分灵活,但是对于支付来讲二者又缺一不可,所以决定写点东西记录一下,以便自己以后忘掉能够随时捡起。

图示:

微信公众平台+商户平台 公众号支付 总结(即trade_type=JSAPI)追加:小程序

对于普通商户来说,1.有自己的公众号,2.用户支付的钱放到自己的商户平台中。

对于服务商来说,1.有自己的公众号,2.为多个商户平台提供服务。

说明:

1.商户A可以有两个商户平台,在自己的公众号中,钱付到两个商户平台都是没有问题的

2.商户B可以没有公众号,所以收入依赖于服务商

3.支付接口(/pay/unifiedorder):(服务商的接口就是多了sub_appid与sub_mch_id两个字段,同理  查询接口

普通商户:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1

服务商:https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=9_1

4.支付接口调用成功后,前端要接jsapi,使付钱的弹出框能够正确的弹出。

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

出错总结(针对服务商接口):

1.支付接口返回:“appid和mch_id不匹配”。字段appid与mch_id有对应关系,A对应A的,X对应X的,不能乱。

2.支付接口返回:“签名错误”。

    (1)注意API_KEY的值,每个商户平台有自己的api-key,不能乱。在服务商商户平台-账户中心-API安全,设置api-key

    (2)字段sign,生成签名要放在所有参数的最后。

3.JS API返回:“当前页面的url未注册:xxxxxx”。在服务商商户平台-产品中心-开发配置,设置url。注意http/https以及书写格式

 

2018.8.2-小程序的开发

   今天又倒腾了一下微信的服务商的小程序,做个记录。

    1.小程序在其公众平台上,配置好服务器域名(后台接口用),业务域名(小程序的iframe标签 web-view用)

    2.小程序支付:同公众号支付一样,在调用wx.requestPayment(OBJECT)之前,首先调用微信统一下单的接口,与之前的有一些差别,要传参sub_appid(小程序的appid),参数openid改为sub_openid。

微信公众平台+商户平台 公众号支付 总结(即trade_type=JSAPI)追加:小程序

(服务商的小程序统一下单:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=9_1

接下来就是sign签名,公众号支付签名是用服务商的appid,但是小程序这一步要用小程序的appid

(服务商的小程序支付:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=7_7&index=5

    3.最后,在服务商的商户平台上,路径:服务商功能-特约商户管理-(对应统一下单付款的商户的)配置-特约商户APPID配置。将小程序的appid添加其中。

到此,完事。

出错总结(针对服务商接口):

1.如果不走第3步,直接支付,应该会报错:“商户传入的appid参数不正确,请联系商户处理”

2.如果不改sign签名,报错:“支付验证签名失败”