PHP支付接口教程,详解微信支付(二)

PC扫码支付

扫码支付首先是要分清楚两种模式:

【模式一】:商户后台系统根据微信支付规则链接生成二维码,链接中带固定参数productid(可定义为产品标识或订单号)。

【模式二】:商户后台系统调用微信支付【统一下单API】生成预付交易,将接口返回的链接生成二维码,用户扫码后输入密码完成支付交易。

上面是官方的说法,简单来说就是模式一多用于线下,而模式二用于线上。我们所说的扫码支付都是指模式二,它算是4种常用的微信支付方式里面最简单的了。说它简单主要体现在两个地方:

  1. 不需要像微信JS支付一样,获取网页授权,获取OPENID
  2. 不需要组装JS,只用把接口返回的code_url转成二维码然后放到页面上

第一阶段:接口申请

只要在微信公众申请了微信支付的,JS支付和扫码支付就都可以集成。如何申请不会讲的太详细,只需要注意下面几点即可:

  1. 成为公众号的临时管理员
  2. 把公众号和微信商户的账号密码都拿到手
  3. 微信商户需要自己去配置一下秘钥,这个过程会有两次短信验证

会发现,如果只是做扫码支付的话,我们并不需要用到APPSECRET。原因是使用微信扫码的这个过程会验证付款者的身份,所以统一下单时是不需要去获取OPENID的,自然也用不到公众号的接口,也就不需要SECRET。
当然这种只有PC站点的情况很少,所以建议还是把四个参数都拿其,具体的获取位置可以看之前的(一)。
PHP支付接口教程,详解微信支付(一)

第二阶段:配置

支付授权目录

PHP支付接口教程,详解微信支付(二)

关于授权目录的配置方式在上一篇中有详细描述。这里要注意的是上图里面的扫码支付回调URL,和我们所做的扫码支付并没有任何关系,如果支付出现问题,千万不要认为是这里出了错。

第三阶段:调试

  1. 把你的参数放到项目中并确保他们正确
  2. 测试统一下单接口能否正常获取到预支付订单
  3. 测试支付回调数据是否正常,这里有个小技巧,就是可以直接把code_url发送到你的微信打开,同样是可以完成支付的
  4. 找一个稳定的二维码生成库(例如phpqrcode),把code_url转化成二维码

到这里基本支付就可以验收了,但是体验不太好,和支付宝的扫码相比,微信扫码支付要把二维码放到我们自己的页面上,这就需要我们自己设计一个放二维码的地方。
还有微信扫码支付并不存在前台回调页面一说(其他支付方式都有),意思也就是你扫码支付明明成功了,可是如果不处理的话支付页面将不会有任何反应。给大家两个建议:

  1. 放一个支付成功的按钮到页面上让用户自己确认已付款成功,你只需要在下一个页面验证是否真的付款成功。听起来有点蠢,可是这种方式曾经也被很多大网站使用过。
  2. 在支付页写一个AJAX用轮询的方式不断的向后台询问订单支付的情况,如果返回成功则跳像成功页面。这样会让用户觉得PC和手机似乎是同步的,体验比较好。

写在最后

作为比较简单的支付方式,扫码支付集成起来不会有太多困难,更多的是对于支付页面的处理。
这里需要提一下我们最终的目的,写一个通用的支付类,让支付接口开发变得轻松愉快。目前为止,我们在微信支付上已经遇到了两种不同返回情况:

  1. 通过支付类得到一个按钮,按钮触发微信JSSDK
  2. 通过支付类得到一张二维码图片和一个轮寻页面的JS

第二种情况,即便是把轮寻的JS也封装到支付类中,还是需要自己写一个被轮询的页面,这似乎不是一个很好的设计,因为这样一来,支付发起的流程和页面逻辑之间将产生很强的耦合。具体的解决办法,将在分析完所有的常用支付方式之后再讨论。

希望能对大家有帮助!


PHP支付接口教程,详解微信支付(二)

以上内容属于作者原创,特此申明,如需转载,请取得同意

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 微信支付 三大支付方式里面,最复杂也是坑最多的非微信支付莫属,我们从微信开始讲。 常见的微信支付种类有下列四种: ...
    php新手小白阅读 4,728评论 1 9
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,724评论 25 709
  • 继上篇《微信和支付宝支付模式详解及实现》到现在已经有半年时间了,这期间不少朋友在公号留言支付相关的问题,最近正好也...
    昔日少年已成叔KK阅读 5,051评论 0 3
  • 发现双声道很有意思的一个东西~ 在耳机里,两耳不同的声音和语言~ 在声音调换的时候~ 感觉是两个歌者在你身后调换位...
    SummerLee110484阅读 3,097评论 0 0
  • “又有同学得了癌症。”这回是老群主段于鄢发来的消息。自从段于鄢让位给郑伯克当上新群主之后,新老群主各自宣布了一位同...
    原疯不动阅读 3,372评论 0 0