微信支付之Native扫码支付功能

作者:陈惠,叩丁狼教育高级讲师。原创文章,转载请注明出处。

上一篇微信支付文章:https://www.jianshu.com/p/9c322b1a5274
实现了微信公众号内H5页面进行支付的功能,但是这种方式的缺点就是必须在微信中打开付款页面才能实现,所以并不适合所有的场景。那么本篇文章,会以另外一种方式实现,使用扫码的方式来进行支付。

需要注意的是,扫码支付分两种形式:

线下的扫码支付:
这种方式非常简单,商户在微信申请付款二维码贴纸,贴到收银台附近位置,客户购买商品直接使用手机扫码二维码,输入付款金额即可支付,这种方式不需要编程人员,大大减少商户成本,比如常见的便利店,商场线下店等等。

叩丁狼教育.png

 

线上的扫码支付:
这是本文选择实现的方式,也叫做Native支付,这种方式适合PC端的网站,比如大众点评、携程、优酷等,如果使用的是电脑来访问网页,并需要支付相关费用,比如商品付款,充值VIP这些都是比较常见的场景,很多网站都会选用这种方式,总之最后付款的那一刻,就在网页上展示付款码,让用户去扫并付款即可,因为这种方式不是面对面付款,所以必须要保证客户付款的金额是准确的,所以这个二维码不是固定的,是根据账单金额生成的,用户扫码之后就可以马上看到需要付款的金额,确认无误再进行付款。

叩丁狼教育.png

 

本文使用的是线上的扫码支付方式,框架使用SpringMVC来实现。

准备工作

一.注册商户号
到微信支付商户平台https://pay.weixin.qq.com
提交商家相关资料,注册一个商户账号,并开通Native支付功能。

叩丁狼教育.png

 

二.绑定公众号或小程序
目的是要得到一个授权的APPID。

叩丁狼教育.png

 

三.设置API密钥,登录商户平台——>账户中心——>API安全——>API密钥
该密钥在后面的代码中计算支付签名的时候需要使用到。

叩丁狼教育.png

 

Native支付实现模式

官方提供了两种模式实现,第一种模式比较复杂,还需要自己处理二维码地址相关信息,第二种比较简单,微信可以直接把生成好的二维码地址返回给我们,所以我们使用第二种实现。
具体区别可参考:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_3

实现的大致流程可参考官方提供的时序图:

 

叩丁狼教育.png

但是流程有很多,不一一演示,我们选取核心的部分来实现即可。

开发流程

文中的例子为:开通叩丁狼VIP会员服务,并实现扫码支付。

一.准备一个可以触发下单操作的页面

叩丁狼教育.png

 

二.点击"开通VIP"按钮后进入controller的方法,接收商品参数并调用微信支付统一下单接口
正常的业务流程是在该方法中,获取商品id,再通过id去查询数据库该商品的相关属性,比如名称,价格等等

  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值