目录
一、二维码
1 什么是二维码
-
二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型。
-
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
2 二维码优势
-
-
信息容量大, 可以容纳多达1850个大写字母或2710个数字或500多个汉字
-
-
-
容错能力强, 即使图片出现部分破损也能使用
-
-
-
成本低, 容易制作
-
3 二维码容错级别
-
L级(低) 7%的码字可以被恢复。
-
M级(中) 的码字的15%可以被恢复。
-
Q级(四分)的码字的25%可以被恢复。
-
H级(高) 的码字的30%可以被恢复。
4 二维码生成插件qrious
-
qrious是一款基于HTML5 Canvas的纯JS二维码生成插件。通过qrious.js可以快速生成各种二维码,你可以控制二维码的尺寸颜色,还可以将生成的二维码进行Base64编码。
二、支付宝扫码支付业务介绍及开发、环境配置流程
1 支付宝扫码支付业务流程
-
支付宝扫码支付是商户系统按支付宝支付协议生成支付二维码,用户再用支付宝“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。
-
具体操作步骤:
-
第一步:创建应用
-
接入扫码支付能力,需要在开放平台创建一个应用,通过该应用来接入各种能力。
-
点击如下链接即可开始创建应用:https://openhome.alipay.com/platform/appManage.htm
-
-
第二步:添加应用功能
-
开发者在开发过程中,可以添加自己需要的功能到待申请功能列表。
-
给应用添加当面付功能,这样就可以在你的应用里使用扫码支付能力。
-
-
第三步:配置秘钥
-
为了保证交易双方的身份和数据安全,需要配置双方密钥。
-
-
第四步:沙箱环境调试使用
-
支付能力直接涉及到交易与资金,为了方便开放者调试支付能力,支付宝已经准备好沙箱环境,包括沙箱环境账号和沙箱版支付宝钱包,这样就可以在沙箱环境调试了。
-
-
第五步:签约
-
在正式使用这些能力的时候,需要在开放平台里进行签约,这时候约定的合同就生效了。也可以代替商户签约。
-
-
第六步:上线应用
-
上线:商户本身应用上线时候,也要把支付宝开放平台的应用上线。
-
验收:为了确保应用质量,开放平台提供了云验收平台,可以在线验收应用。
-
-
第七步:监控应用
-
在开放平台监控交易情况
-
应用上线后还可以在开放平台,查看应用运行情况以及交易状态。
-
-
2 扫码支付具体申请配置流程
-
2.1、登录支付宝开发者平台
-
2.2、登录开发者平台界面
-
2.3、进入研发服务中心---》沙箱环境
-
沙箱环境(Beta)是协助开发者进行接口功能开发及主要功能联调的模拟环境。
-
作为开发者使用沙箱完全可以用来入门学习如何对接扫码支付接口。
-
Appid是应用的id,后续再开发应用时要用到,请保存好!
-
-
2.4、配置沙箱环境,配置RSA2公钥
3 支付宝支付SDK
<!-- 支付宝支付所需类库包 -->
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.3.0.ALL</version>
<exclusions>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
4 工程搭建与准备工作
三 支付宝支付二维码生成
1 需求分析与实现思路
-
1.1需求分析
-
在支付页面上生成支付二维码,并显示订单号和金额
-
用户拿出手机,打开支付宝扫描页面上的二维码,然后在支付宝中完成支付
-
-
1.2实现思路
-
商户系统通过AlipayClient调用支付宝预下单接口alipay.trade.precreate,获得该订单二维码图片地址。
-
构建参数发送给预下单接口 ,返回的信息中有支付url,根据url生成二维码,显示的订单号和金额也在返回的信息中。
-