-
Notifications
You must be signed in to change notification settings - Fork 0
trade.query
李春寅 edited this page Jan 31, 2019
·
1 revision
SDK为交易查询接口 trade.query 编写的相关操作类有
- asbamboo.java.sdk.model.TradeQueryRequest 用来生成接口请求参数。 接口请求
- asbamboo.java.sdk.model.TradeQueryResponse 用来解析接口返回的响应值。接口的response响应值
使用SDK请求 trade.query 接口,你需要创建一个TradeQueryRequest实例,调用其中的set方法,设置查询的交易编号,查询交易信息。
TradeQueryRequest 包含如下可以被用来设置参数的方法:
- public void setInTradeNo(String in_trade_no) 交易编号(聚合平台)
- public void setOutTradeNo(String out_trade_no) 交易编号(商户)
接口请求时 in_trade_no 或者 out_trade_no 必须有一个被设置,如果通知设置了这两个参数,那么系统以in_trade_no为准查询交易信息。
代码示例:
try{
TradeQueryRequest request = new TradeQueryRequest();
request.setInTradeNo(in_trade_no);
request.setOutTradeNo(out_trade_no);
TradeQueryResponse response = (TradeQueryResponse) request.post();
// ...
}catch(Exception e) {
// ...
}
TradeQueryRequest.post() 方法会返回一个 TradeQueryResponse 结果。TradeQueryResponse 是 trade.query响应值的解析类,它会把响应只json转换为 TradeQueryResponse 对象。TradeQueryResponse 具有如下可用的方法获取响应结果中的字段:
- 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 getCancelYmdhis() 交易取消时间
- public String getChannel() 支付渠道
- public String getClientIp() 客户ip
- public String getInTradeNo() 交易编号 与支付请求的编号对应的聚合平台生成的交易编号 是一个全局唯一的编号
- public String getOutTradeNo() 交易编号(商户)
- public String getPayedYmdhis() 交易支付成功[不可退款]时间
- public String getPayokYmdhis() 交易支付成功[可退款]时间
- public String getQrCode() 二维码(买家扫商家适用),渠道类型为ALIPAY_QRCD或WXPAY_QRCD时这个字段才有意义
- public String getTitle() 交易标题
- public String getTotalFee() 交易金额 单位为分
- public String getTradeStatus() 交易状态 NOPAY[尚未支付] CANCLE[取消支付] PAYFAILED[支付失败] PAYING[正在支付] PAYOK[支付成功-可退款] PAYED[支付成功-不可退款]
response处理示例:
TradeQueryResponse response = (TradeQueryResponse) request.post();
if(response.getIsSuccess()){
if(response.getTradeStatus() == "NOPAY"){
// .....
}else if(response.getTradeStatus() == "CANCLE"){
// .....
}else if(response.getTradeStatus() == "PAYFAILED"){
// .....
}else if(response.getTradeStatus() == "PAYING"){
// .....
}else if(response.getTradeStatus() == "PAYOK"){
// .....
}else if(response.getTradeStatus() == "PAYED"){
// .....
}
}else{
// 请求失败
// response.getDataCode() //接口响应值code
// response.getMessage() //失败的原因
// ......
}
- SDK 中包含的接口: