- 接入扫码支付(包含PC网站支付)包含三个阶段,问这里只讲使用,也就是第2阶段的《启动设计和开发》。
- 点击查看开发者文档(扫码支付)后,这里感觉微信的文档没有支付宝好理解(稍微吐槽下~~~),不过我们忽略一切,直接进入模式二:模式二最简单直接,不需要在商户后台进行配置,推荐大家使用,微信也说流程更为简单,我这里也讲的是模式二,模式一大家有兴趣可以自行研究下。
- 如上图,总流程有14步,主要流程是生成订单、调统一下单API、将返回的支付交易链接生成二维码展示;我这边主要就是将这三步结合springmvc后,成功生儿二维码之后,用户就可以扫码支付了。后面的回调跟跟我的另一篇博文基本类似,大家借鉴下就行了:支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc
四、实现:
- 准备:根据统一下单接口API我先定义了三个对象:UnifiedOrderRequest(统一下单请求参数(必填))、UnifiedOrderRequestExt(统一下单请求参数(非必填))、UnifiedOrderRespose(统一下单返回参数);具体如下代码,get、set方法可自行生产,太占篇幅。
UnifiedOrderRequest.class- /**
- * 统一下单请求参数(必填)
- * @author Y
- *
- */
- public class UnifiedOrderRequest {
- private String appid; //公众账号ID
- private String mch_id; //商户号
- private String nonce_str; //随机字符串
- private String sign; //签名
- private String body; //商品描述
- private String out_trade_no; <span style="white-space:pre"> </span>//商户订单号
- private String total_fee; //总金额
- private String spbill_create_ip; <span style="white-space:pre"> </span>//终端IP
- private String notify_url; //通知地址
- private String trade_type; //交易类型
- }
- /**
- * 统一下单请求参数(非必填)
- * @author Y
- *
- */
- public class UnifiedOrderRequestExt extends UnifiedOrderRequest{
- private String device_info; //设备号
- private String detail; //商品详情
- private String attach; //附加数据
- private String fee_type; //货币类型
- private String time_start; //交易起始时间
- private String time_expire; //交易结束时间
- private String goods_tag; //商品标记
- private String product_id; //商品ID
- private String limit_pay;