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支付接口教程,详解微信支付(二)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容

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