一机在手,没有忧愁,手机在我手,商场任我走。
微信支付可以分为四种:
- 刷卡支付 商家用扫码设备扫用户的二维码。主要应用线下面对面收银的场景。
- 公众号支付 用户在微信内进入商家的H5页面,页面内调用JSSDK完成支付
- 扫码支付(常用) 用户扫描商家的二维码完成支付。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。
- APP支付 需要用户在手机端安装特定的软件进行支付,比如美团外卖支持微信支付。
相关概念和名词:
- appid, 微信公众账号或开放平台APP的唯一标识
- mch_id, 微信支付系统中的商户收款账号
- partner, 财付通平台的商户账号
- partnerkey, 财付通平台的商户密钥
- sign, 数字签名, 根据微信官方提供的密钥和一套算法生成的一个加密信息, 就是为了保证交易的安全性
二维码技术:
二维码是一种图形,一种将二进制以图形化的方式展现出来的技术
优势:
- 信息容量大, 可以容纳多达1850个大写字母或2710个数字或500多个汉字
- 应用范围广, 支持文字,声音,图片,指纹等等...
- 容错能力强, 即使图片出现部分破损也能使用
- 成本低, 容易制作
网上很多的在线生成二维码的网站,我们自己也可以编码生成二维码。下面使用第三方的API(qrcode.js) :
- 在当前页面中引入js文件,包括jquery的js文件
- 提供一个空的div用于展示二维码的图片
- 使用qrcode.js生成二维码
<!-- 第二步,提供一个空的div来保存这个二维码 -->
<div style="text-align:center" id="qrcode"></div>
<!-- 第三步,使用qrcode.js生成二维码 -->
<script type="text/javascript">
var qr = qrcode(10,'H'); //第一个参数用来设置图片的大小,第二个参数是容错级别
qr.addData("https://user.qzone.qq.com/847009334?source=friendlist");
qr.make();
$("#qrcode").html(qr.createImgTag());
</script>