《PHP支付接口教程,详解微信支付(二)》要点:
本文介绍了PHP支付接口教程,详解微信支付(二),希望对您有用。如果有疑问,可以联系我们。
扫码付出首先是要分清楚两种模式:
【模式一】:商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产物标识或订单号).
【模式二】:商户后台系统调用微信支付【统一下单API】生成预付交易,将接口返回的链接生成二维码,用户扫码后输入暗码完成支付交易.
上面是官方的说法,简单来说便是模式一多用于线下,而模式二用于线上.我们所说的扫码支付都是指模式二,它算是4种常用的微信支付方式里面最简单的了.说它简单主要体现在两个地方:
不必要像微信JS支付一样,获取网页授权,获取OPENID
不必要组装JS,只用把接口返回的code_url转成二维码然后放到页面上
只要在微信公众申请了微信支付的,JS支付和扫码支付就都可以集成.如何申请不会讲的太详细,只必要注意下面几点即可:
成为"大众号的临时管理员
把公众号和微信商户的账号暗码都拿到手
微信商户需要本身去配置一下秘钥,这个过程会有两次短信验证
会发现,如果只是做扫码支付的话,我们并不必要用到APPSECRET.原因是使用微信扫码的这个过程会验证付款者的身份,所以统一下单时是不必要去获取OPENID的,自然也用不到公众号的接口,也就不必要SECRET.
当然这种只有PC站点的情况很少,所以建议还是把四个参数都拿其,具体的获取地位可以看之前的(一).
PHP付出接口教程,详解微信付出(一)
付出授权目录
关于授权目录的配置方式在上一篇中有详细描述.这里要注意的是上图里面的扫码支付回调URL,和我们所做的扫码支付并没有任何关系,如果支付呈现问题,千万不要认为是这里出了错.
把你的参数放到项目中并确保他们正确
测试统一下单接口能否正常获取到预付出订单
测试支付回调数据是否正常,这里有个小技巧,便是可以直接把code_url发送到你的微信打开,同样是可以完成支付的
找一个稳定的二维码生成库(例如phpqrcode),把code_url转化成二维码
到这里基本支付就可以验收了,但是体验不太好,和支付宝的扫码相比,微信扫码支付要把二维码放到我们本身的页面上,这就需要我们本身设计一个放二维码的地方.
还有微信扫码支付并不存在前台回调页面一说(其他支付方式都有),意思也便是你扫码支付明明成功了,可是如果不处理的话支付页面将不会有任何反应.给大家两个建议:
放一个支付成功的按钮到页面上让用户本身确认已付款成功,你只需要在下一个页面验证是否真的付款成功.听起来有点蠢,可是这种方式曾经也被很多大网站使用过.
在支付页写一个AJAX用轮询的方式不断的向后台询问订单支付的情况,如果返回成功则跳像成功页面.这样会让用户觉得PC和手机似乎是同步的,体验比拟好.
作为比拟简单的支付方式,扫码支付集成起来不会有太多困难,更多的是对于支付页面的处理.
这里必要提一下我们最终的目的,写一个通用的支付类,让支付接口开发变得轻松愉快.目前为止,我们在微信支付上已经遇到了两种不同返回情况:
通过支付类获得一个按钮,按钮触发微信JSSDK
通过支付类获得一张二维码图片和一个轮寻页面的JS
第二种情况,即便是把轮寻的JS也封装到支付类中,还是需要自己写一个被轮询的页面,这似乎不是一个很好的设计,因为这样一来,支付发起的流程和页面逻辑之间将产生很强的耦合.具体的解决方法,将在分析完所有的常用支付方式之后再讨论.
希望能对大家有赞助!
以上内容属于作者原创,特此申明,如需转载,请取得批准
维易PHP培训学院每天发布《PHP支付接口教程,详解微信支付(二)》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。