支付API
历史修改记录
| 日期 | 版本 | 描述 | 作者 |
1 微信/支付宝 支付相关接口
-
**简要描述:**用于APP/PC支付,订单查询,订单关闭的内部调用
-
接口的使用与请求参数示例:
-
1.1 使用
OrderResponse orderResponse = SimpleFactoryPay.getPayChannelInfo(channelKey).payOderInfo(orderType, channelKey, orderRequest); -
1.2 参数示例
** String channelKey=支付渠道: wx-微信 ali-支付宝**** int orderType=支付类型常量: 1-查询订单 2-关闭订单 3-APP支付 4-PC支付**
请求参数实体类 OrderRequest orderRequest
-
-
- 1.2.1 微信APP支付
** input :**
参数1.channelKey=wx
参数2.orderType=3
参数3.OrderRequest orderRequest = new OrderRequest();
orderRequest.setBody()=主题
outTradeNo=商户订单号
orderRequest.setDeviceInfo()=设备信息
orderRequest.setTotalFee()=价格,1代表1分钱即0.01元
orderRequest.setTradeType()=支付类型, ”APP“、 ”NATIVE“
output :orderResponse.getMap()–>微信APP支付的结果信息
- 1.2.1 微信APP支付
-
-
-
- 1.2.2 微信PC支付
** input :**
参数1.channelKey=wx
参数2.orderType=4
参数3.OrderRequest orderRequest = new OrderRequest();
orderRequest.setBody()=主题
outTradeNo=商户订单号
orderRequest.setDeviceInfo()=设备信息
orderRequest.setTotalFee()=价格,1代表1分钱即0.01元
orderRequest.setTradeType()=支付类型, ”APP“、 ”NATIVE“
output :orderResponse.getWxPCPayInfo()–>微信PC支付的结果信息,二维码链接
- 1.2.2 微信PC支付
-
-
-
-
1.2.3 微信订单查询
** input :**
参数1.channelKey=wx
参数2.orderType=1
参数3.outOrderId=lYkvm1597989926SZX59936786488
OrderRequest orderRequest = new OrderRequest();
orderRequest.setOutOrderId(outOrderId)
output :orderResponse
{
“returnCode”: “SUCCESS”,
“orderStatus”: “SUCCESS”,
“outTradeNo”: “4200000720202008216839997501”,
“orderId”: “lYkvm1597989926SZX59936786488”,
“resultMsg”: “OK”,
“finishTime”: “20200821140819”,
}注:判定支付成功的订单查询
if (SUCCESS.equals(orderResponse.getReturnCode()) && SUCCESS.equals(orderResponse.getOrderStatus()))
-
-
-
-
-
1.2.4 微信订单关闭
** input :**
参数1.channelKey=wx
参数2.orderType=2
参数3.outOrderId=MPGwc1597202072SZX25255582955
OrderRequest orderRequest = new OrderRequest();
orderRequest.setOutOrderId(outOrderId)
output :orderResponse
{
“resultCode”: “SUCCESS”,
“returnCode”: “SUCCESS”,
}注:判定关单接口的成功调用
if (SUCCESS.equals(orderResponse.getReturnCode()) && SUCCESS.equals(orderResponse.getResultCode()))
小提示:最终判定订单关闭成功,请调用查询接口查看订单状态orderResponse.getOrderStatus()=CLOSED
-
-
-
-
- 1.2.5 支付宝APP支付
** input :**
参数1.channelKey=ali
参数2.orderType=3
参数3.OrderRequest orderRequest = new OrderRequest();
orderRequest.setBody()=主题
orderRequest.setTotalFee()=价格,1代表1元
orderRequest.setOutOrderId()=商户订单号
orderRequest.setIpAddr()=异步消息IP地址
output :orderResponse.getResultVO()–>支付宝APP支付的结果信息
- 1.2.5 支付宝APP支付
-
-
-
- 1.2.6 支付宝PC支付
** input :**
参数1.channelKey=ali
参数2.orderType=4
参数3.OrderRequest orderRequest = new OrderRequest();
orderRequest.setBody()=主题
orderRequest.setTotalFee()=价格,1代表1元
orderRequest.setOutOrderId()=商户订单号
orderRequest.setIpAddr()=异步消息IP地址
output :orderResponse.getResultVO()–>支付宝PC支付的结果信息
- 1.2.6 支付宝PC支付
-
-
-
-
1.2.7 支付宝订单查询
** input :**
参数1.channelKey=ali
参数2.orderType=1
参数3.outOrderId=lYkvm1597989926SZX15829243554
OrderRequest orderRequest = new OrderRequest();
orderRequest.setOutOrderId(outOrderId)
output :orderResponse
{
“orderStatus”: “TRADE_CLOSED”,
“outTradeNo”: “2020090722001480271411207607”,
“orderId”: “lYkvm1597989926SZX15829243554”,
“resultMsg”: “Success”,
“subCode”: true
}注:判定支付成功的订单查询
if (queryResponse.getSubCode() && “TRADE_SUCCESS”.equals(queryResponse.getOrderStatus()))
-
-
-
-
-
1.2.8 支付宝订单关闭
** input :**
参数1.channelKey=ali
参数2.orderType=2
参数3.outOrderId=lYkvm1597989926SZX15829243554
OrderRequest orderRequest = new OrderRequest();
orderRequest.setOutOrderId(outOrderId)
output :orderResponse
{
“resultMsg”: “Success”,
“subCode”: true
}注:判定关单接口的成功调用
queryResponse.getSubCode()
小提示:最终判定订单关闭成功,请调用查询接口查看订单状态orderResponse.getOrderStatus()=TRADE_CLOSED
-
-
2 微信/支付宝 支付异步通知接口
-
**简要描述:**用于解析微信/支付宝请求过来的数据
-
接口的使用与请求参数示例:
-
2.1 使用
OrderResponse orderResponse = SimpleFactoryPay.getPayChannelInfo(channelKey).notifiyPay(orderRequest); -
2.2 参数示例
-
String channelKey=支付渠道: wx-微信 ali-支付宝
-
请求参数实体类 OrderRequest orderRequest
-
-
- 2.2.1 微信
** input :**
参数1.channelKey=wx
参数2.orderRequest.setNotifyData()=微信异步请求中的数据
output :orderResponse.getResultVO()=微信支付异步通知结果信息
- 2.2.1 微信
-
-
-
- 2.2.2 支付宝
** input :**
参数1.channelKey=ali
参数2.orderRequest.setRequest()=支付宝异步请求中的数据
output :orderResponse.getMap()=支付宝支付异步通知结果信息
- 2.2.2 支付宝
-
3 定时器功能
-
**简要描述:**用于执行有限次数定时任务
-
接口的使用与请求参数示例:
-
3.1 使用
ScheduleTimerTask.scheduleTimerTaskTrigger(className,methodName,millisecond,count); -
3.2 参数示例
- String className=全类名(Copy Reference)
- String methodName=全类名下的方法名
- int millisecond=间隔毫秒数
- int count=执行次数