在软件开发中,我们会经常遇到微信支付功能的需求,本文将介绍如何实现微信的退付款功能。包括:“客户端扫描二维码发起微信支付”、“客户端请求服务器,进行微信支付”、“服务器收到客户端的微信支付请求,进行微信支付”、“服务器端返回微信支付结果给客户端”、“客户端收到服务器返回的微信支付结果”、“客户端向服务器发起微信退款请求”、“服务器收到客户端微信退款申请,进行微信退款”、“将微信退款结果返回给客户端”。
1、客户端扫描二维码发起微信支付。
客户端首先对支付金额进行格式化:
新建WXPayInfo类的实例,设置微信支付金额支付授权码,授权码为扫描二维码后得到的微信付款授权码:
WXPayInfo主要封装了微信支付需要的字段:
微信支付需要联网,所以需要设备连接了网络:
2、客户端请求服务器,进行微信支付。
3、服务器收到客户端的微信支付请求,进行微信支付。
服务器收到微信支付请求,首先对支付金额的格式和大小做检查:
根据公众号appid、商户号mchid,密钥secret和证书cert创建WXPayConfigImpl实例:
Appid、mchid、secret、cert在配置文件中获取,cert要放在一个安全地地方:
使用@Value获取配置文件信息:
WXPayConfigImpl类继承了WXPayConfig:
查看代码
根据WXPayConfigImpl的实例创建WXPay的实例:
获取交易单号:
将子商户好、商品描述、交易单号、终端IP、订单总金额、授权码放进hashmap容器中:
请求微信服务器进行微信支付:
根据微信支付返回信息,判断是否支付成功:
4、服务器端返回微信支付结果给客户端。
5、客户端收到服务器返回的微信支付结果。
支付成功后,客户端设置零售单的相关字段:
6、客户端向服务器发起微信退款请求。
客户端请求服务器,进行微信退款:
7、服务器收到客户端微信退款申请,进行微信退款。
创建WXPayConfigImpl的实例,获取退款单号,签名sign:
将退款信息放到hahmap容器中:
进行微信退款:
8、将微信退款结果返回给客户端。
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/java-jiao-cheng/4491.html