微信扫码支付

本文介绍了如何使用SpringMVC实现微信扫码支付的模式二,包括生成订单、调用统一下单API、生成二维码的过程。通过示例代码展示了如何创建订单对象、调用统一下单接口以及处理返回的预支付交易会话标识,最终生成二维码供用户扫码支付。
摘要由CSDN通过智能技术生成
  1. 接入扫码支付(包含PC网站支付)包含三个阶段,问这里只讲使用,也就是第2阶段的《启动设计和开发》。
  2. 点击查看开发者文档(扫码支付)后,这里感觉微信的文档没有支付宝好理解(稍微吐槽下~~~),不过我们忽略一切,直接进入模式二:模式二最简单直接,不需要在商户后台进行配置,推荐大家使用,微信也说流程更为简单,我这里也讲的是模式二,模式一大家有兴趣可以自行研究下。
  3. 如上图,总流程有14步,主要流程是生成订单、调统一下单API、将返回的支付交易链接生成二维码展示;我这边主要就是将这三步结合springmvc后,成功生儿二维码之后,用户就可以扫码支付了。后面的回调跟跟我的另一篇博文基本类似,大家借鉴下就行了:支付宝:web页面扫码支付、网站支付、支付宝即时到账 + springmvc

四、实现:

  1. 准备:根据统一下单接口API我先定义了三个对象:UnifiedOrderRequest(统一下单请求参数(必填))、UnifiedOrderRequestExt(统一下单请求参数(非必填))、UnifiedOrderRespose(统一下单返回参数);具体如下代码,get、set方法可自行生产,太占篇幅。

    UnifiedOrderRequest.class
    [javascript]  view plain  copy   在CODE上查看代码片 派生到我的代码片
    1. /** 
    2.  * 统一下单请求参数(必填) 
    3.  * @author Y 
    4.  * 
    5.  */  
    6. public class UnifiedOrderRequest {  
    7.     private String appid;               //公众账号ID  
    8.     private String mch_id;              //商户号  
    9.     private String nonce_str;           //随机字符串  
    10.     private String sign;                //签名  
    11.     private String body;                //商品描述  
    12.     private String out_trade_no;        <span style="white-space:pre">    </span>//商户订单号  
    13.     private String total_fee;           //总金额  
    14.     private String spbill_create_ip;    <span style="white-space:pre">    </span>//终端IP  
    15.     private String notify_url;          //通知地址  
    16.     private String trade_type;          //交易类型  
    17. }  
    UnifiedOrderRequestExt.class
    [javascript]  view plain  copy   在CODE上查看代码片 派生到我的代码片
    1. /** 
    2.  * 统一下单请求参数(非必填) 
    3.  * @author Y 
    4.  * 
    5.  */  
    6. public class UnifiedOrderRequestExt extends UnifiedOrderRequest{  
    7.       
    8.     private String device_info;         //设备号  
    9.     private String detail;              //商品详情  
    10.     private String attach;              //附加数据  
    11.     private String fee_type;            //货币类型  
    12.     private String time_start;          //交易起始时间  
    13.     private String time_expire;         //交易结束时间  
    14.     private String goods_tag;           //商品标记  
    15.     private String product_id;          //商品ID  
    16.     private String limit_pay; 
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值