最近要做APP调微信支付功能,所以开始看微信支付开发文档。以前也看过几次,但看的都不太明白。这次有不一样的感触,写下来,和刚刚开始学习微信支付的小伙伴分析一下。
下面是微信支付的jar包: <!--微信支付 SDK --> <dependency> <groupId>com.github.binarywang</groupId> <artifactId>weixin-java-pay</artifactId> <version>3.4.0</version> </dependency>
1.微信支付的种类
下面是微信支付的首页网址:https://pay.weixin.qq.com/wiki/doc/api/index.html
通过上图可以看出,微信支付分很多种,在学习的过程我们要根据自己的需要来具体学习。
2.微信支付统一下单接口
在引入微信支付所需的jar包之后,统一下单接口是第一步。统一下单接口的地址已经给出:https://api.mch.weixin.qq.com/pay/unifiedorder。我们要做的就是把必要的请求参数和我们自定义的参数以xml的形式拼接后调用统一下单接口即可。(因为我只负责后端代码,所以我做的是把请求参数放入JSONObject对象中,返回给前端。用该WxPayUnifiedOrderRequest类接收参数,这是微信支付已经定义好的类。)
3.具体代码流程
- (1).WxPayUnifiedOrderRequest orderRequest = new WxPayUnifiedOrderRequest() ;统一下单 把所有参数添加到该类中(WxPayUnifiedOrderRequest 类是微信支付定义好的)。
- (2).WxPayService wxPayService = new WxPayService(); 创建微信支付的service(WxPayService类是微信支付定义好的)。
- (3).WxPayAppOrderResult wxPayAppOrderResult = wxPayService.createOrder(orderRequest); 这里注意,不同种类的微信支付使用不同的类。APP支付使用WxPayAppOrderResult类,Native支付使用WxPayNativeOrderResult类,以此类推(WxPayAppOrderResult 等类是微信支付定义好的)。
- (4).然后放入JSONObject对象中,调用统一支付接口。
- (5).支付回调。支付回调是用来判断支付是否成功的,根据支付后返回的returnCode和resultCode值判断。都为SUCCESS代表支付成功。成功后可以做后续处理。
这是本人今天学习的理解。有错误请指出,有疑问请留言,共同进步。等本人成功实现APP的微信支付会重新写一篇进行更详细的说明。
来源:CSDN
作者:唯山河不变
链接:https://blog.csdn.net/qq_38229263/article/details/103685513