前言:这个是公司服务号已上线,可是一直遗留的一个问题,没法再测试环境进行微信支付的测试,每次测试都须要在正式环境下测试。在我来这家公司后,老板这天忽然给我说,这个问题比较着急,想解决一下。因为以前我也没作过相关的事情,就从测试环境走了一遍微信支付,果真不行,会报“不容许夸号支付”的错误。错误已经抛出,那就好解决了。微信
首先描述一下背景:网络
测试环境:testwx.aa.com 使用的微信公众号是在线申请的测试号(订阅号)app
正式环境:wx.aa.com 使用的微信公众号是申请的已认证的服务号,并已开通了微信支付测试
老板给我说,别的公司的技术人员透露给他说,在测试环境使用正式的appid、key、商户号等等,就能够走正式微信号的支付来完成支付了。我照着作了一遍,发现会报“不容许夸号支付”的错误。微信支付
1,不容许夸号支付资源
通过网络上的搜索,大概知道了是由于在订阅号的环境下支付致使的。当我给老板说这个状况的时候,老板以为确定不是这个缘由,由于别人均可以的。因而我决定再弄一个服务号来尝试一下,正好以前有一个服务号,已认证,但未开通支付。把那个服务号的配置配好后,进入那个服务号,走了一遍支付流程,能够支付。过后,老板再次询问那边的技术人员,的确是这样的结果,那边使用的测试号,也是一个服务号,而不是订阅号。
开发
2,如何不使用第二个公众号,也能够支付测试test
当我把这个结果告诉老板的时候,老板以为,须要第二个公众号,太浪费资源了。因而,咱们以后就尝试,在正式微信公众号下,发送测试微信的订单连接(商品连接等等),而后点击连接,进入支付页面,也是能够进行支付的。配置
3,实际开发配置要求搜索
以上都是讲的一些思路过程,那么实际在解决这个事情的时候,具体要怎么作呢?
在测试环境下发起支付请求,所用到的appid、key、商户号等,都须要使用正式的,同时openid也要用正式的,也就是说,须要作一个openid的映射关系,将测试环境获取的openid转化为正式环境的openid,而后发起支付请求,就能够了。