这里所说的二码合一指的是不管是支付宝和微信扫描的是同一个二维码来完成整个支付的过程,并且是通过调用支付接口来实现的,不同于使用PS将微信支付宝二维码合成一张图片。有时我们在某些门店扫码结账时可能遇到店家只有一个二维码不管使用微信还是支付宝都能扫,这里讲的就是这种方案的实现方式。其实二码合一可以延伸一下,多码合一也是同样的思路。

  下面说一下实现的思路,先说一下单独的微信和支付宝扫码支付,其实微信扫码支付有两种模式都是根据微信的规则来实现的实现方式可以观看本站视频教程微信支付实战开发(微信扫码支付) ,而支付宝扫码支付在原有支付基础上修改一个参数就可以实现,宝支付接口实战开发。但是这两种扫码支付都是使用的官方的规则来生成,并且都是独立的二维码,所以这种思路走不通。

  换个角度来思考,同一个二维码实现多种支付方式那么肯定需要判断用户使用哪种APP进行扫码的,所以这个二维码一定不能是第三方的,这个二维码需要由开发者自己定义,其实定义成自己的一个URL地址就可以,作为开发者来讲就可以在扫码后的请求里面做判断了,一方面是判断当前扫码的设备是支付宝还是微信,其实根据请求的userAgent就可以判断出来,因为扫码后请求URL实际是在APP内置的浏览器中打开的,这样识别了用户的APP之后就可以调用对应的程序了,在微信内支付应该使用微信公众号支付这种接口,而支付宝的话只需要调用手机支付接口就可以了,如果要增加其他的支付方式也是同样的道理。后续本站会出个视频进行讲解,敬请留意。