在微信支付中,如果使用扫码支付的方式,微信支付商户号中只能设置一个回调地址,当需要给多个域名配置支付接口的时候就出现了问题,比如,网站a.shop.com和b.shop.com都是同一家网站下的销售平台,但它们使用不同的域名区分业务,这时候就需要在支付接口处配置不同的回调接口才能正常支付成功,难道你会为此去注册abcde……个公众号去吗不可能的。
在网上查阅了很多资料,相比而言最有效的处理方案有人PO在了GitHub,他是用一个代理域名来处理不同子域名的支付回调,方案图是这样的:
项目地址:
而M学院在尝试和分析了众多的有关这个问题的资料后,得出了最终的解决方案:不同的支付域名采用不同的微信支付商户号,在公司的公众号中绑定授权这些商户号
之前在处理微信支付业务的时候,可能是因为流程顺序的问题,注册出来两个ID的商户号,而全程认证的资料内容都是一样的,在遇到这个问题的时候才想起来第二个商户号的用处。在支付对接的时候无外乎就是需要获得APPID(服务号ID)、APPSECRET(服务号密钥)、MCHID(商户ID)、KEY(私钥)这几个参数,并且能够设置前台返回和异步通知的地址。KEY是在微信支付的商户平台中的API安全界面中进行设置,不同的商户号对应不同的KEY。商户号和商户KEY是属于商户平台所用,APPID和APPSECRET是公众号平台所用,在公众号平台可以绑定多个商户号,这样就有了对应不同商户号的不同支付参数,不同网站的回调地址可以在各自商户号内进行设置。
这才是一个微信公众号下面开通多个子域名支付回调的解决办法,虽然在有些问答平台中,有些所为的腾讯官方技术人员给出的回答也是同一支付号只能设置一个回调地址,多个地址需要用转发等技术办法去实现,但我认为这并不是微信公众平台和微信支付的初衷所在,那样太麻烦了,它会让客户这样不便利吗?不会的。其思想应该就是业务拆分靠商户号来进行拆分,这一点在商户号平台右上角的账号菜单应该就能有点理解的,为什么这里有一个很方便快捷的切换账号的选项呢?一定是它认为正常运作中客户极有可能需要多个商户号来切换喽,那客户为什么要有多个商户号呢?一定就是对应我们开始所提到的困惑喽。
关于微信扫码支付中如何设置多个域名的解决办法,我相信,在搜索了众多的资料后,直到看了我这篇文章才会恍然大悟。如果我帮助你解决了困惑,顺利开展了业务,记得回来请我喝杯咖啡,给我点支持吧。