-
Notifications
You must be signed in to change notification settings - Fork 0
trade.refund
李春寅 edited this page Jan 31, 2019
·
1 revision
SDK为交易查询接口 trade.refund 编写的相关操作类有
- asbamboo.java.sdk.model.TradeRefundRequest 用来生成接口请求参数。 接口请求
- asbamboo.java.sdk.model.TradeRefundResponse 用来解析接口返回的响应值。接口的response响应值
使用SDK请求 trade.refund 接口,你需要创建一个TradeRefundRequest实例,调用其中的set方法,设置退款的交易编号、退款单编号,退款金额等信息。
TradeRefundRequest 包含如下可以被用来设置参数的方法:
- public void setInTradeNo(String in_trade_no) 交易编号(聚合平台)
- public void setOutTradeNo(String out_trade_no) 交易编号(商户)
- public void setOutRefundNo(String out_refund_no) 退款单编号(商户)
- public void setRefundFee(String refund_fee) 退款金额
- public void setThirdPart(String third_part) 第三方平台需要的其他参数,json格式传入
接口请求时 in_trade_no 或者 out_trade_no 必须有一个被设置,如果通知设置了这两个参数,那么系统以in_trade_no为准。
out_refund_no 必须是唯一的。
refund_fee 一个交易可以分多次退款,但退款的总金额不能大于交易支付金额。
代码示例:
try{
TradeRefundRequest request = new TradeRefundRequest();
request.setInTradeNo(in_trade_no);
request.setOutTradeNo(out_trade_no);
request.setOutRefundNo(out_refund_no);
request.setRefundFee(refund_fee);
TradeRefundResponse response = (TradeRefundResponse) request.post();
// ...
}catch(Exception e) {
// ...
}
TradeRefundRequest.post() 方法会返回一个 TradeRefundResponse 结果。TradeRefundResponse 是 trade.refund 响应值的解析类,它会把响应只json转换为 TradeRefundResponse 对象。TradeRefundResponse 具有如下可用的方法获取响应结果中的字段:
- public boolean getIsSuccess() HTTP code等于200,并且Response Json中code等于"0",并且Response Json中Sign值有效时返回true,其他情况都返回false。
- public String getMessage() HttpCode等于200时,message等于response json中的message。否则提示异常信息
- public String getDataCode() Response Json中的code
- public HashMap<String, Object> getDecodedData() Response Json,经过json decode后的结果
- public Integer getHttpCode() Http code
- public String getHttpBody() Http body应该是一个json
- public Map<String, List<String>> getHttpHeaders() http headers
- public String getInRefundNo() 退款编号(聚合平台) 唯一
- public String getInTradeNo() 交易编号(聚合平台) 唯一
- public String getOutRefundNo() 退款单编号(商户) 唯一
- public String getOutTradeNo() 交易编号(商户) 唯一
- public String getRefundFee() 退款金额
- public String getRefundPayYmdhis() 退款的付款时间
- public String getRefundStatus() 退款申请状态 REQUEST[正在请求] SUCCESS[申请成功] FAILED[申请失败]
response处理示例:
TradeRefundResponse response = (TradeRefundResponse) request.post();
if(response.getIsSuccess()){
if(response.getRefundStatus() == "SUCCESS"){
// .....
}else if(response.getRefundStatus() == "FAILED"){
// .....
}
}else{
// 请求失败
// response.getDataCode() //接口响应值code
// response.getMessage() //失败的原因
// ......
}
- SDK 中包含的接口: