查询退款结果代码示例
本章主要介绍查询退款结果的 Java SDK 代码示例。
代码示例
public void refundQuery(String refundNo, String mchRefundNo) {
// 翼辉支付平台公钥
String acopayPublicKey = "<acopayPublicKey>";
// 商户私钥
String mchPrivateKey = "<yourMchPrivateKey>";
// 商户号
String mchNo = "<yourMchNo>";
// 退款查询参数
AcopayRefundQueryRequestModel refundQueryRequestModel = new AcopayRefundQueryRequestModel();
// 实际业务中指定将要查询的商户退单号
refundQueryRequestModel.setMchRefundNo(mchRefundNo);
// 实际业务中指定将要查询的翼辉退单号
refundQueryRequestModel.setRefundNo(refundNo);
AcopayResponse<AcopayRefundQueryResponseModel> acopayRefundQueryResponse = null;
try {
// 创建 AcopayClient 实例
AcopayClient acopayClient = new DefaultAcopayClient(acopayPublicKey, mchPrivateKey, mchNo);
// 发起退款查询请求
acopayRefundQueryResponse = acopayClient.refundQuery(refundQueryRequestModel);
} catch (AcopayException e) {
// 进行异常处理
log.error("退款结果查询接口异常", e);
}
// 正常流程进行业务处理
if (!Objects.isNull(acopayRefundQueryResponse)) {
if (acopayRefundQueryResponse.statusSuccessful()) {
log.info("退款结果查询业务返回:{}", acopayRefundQueryResponse);
// 获取业务数据
AcopayRefundQueryResponseModel data = acopayRefundQueryResponse.getData();
// 查询业务成功处理
} else {
// 查询业务异常处理
log.info("退款结果查询业务失败,返回状态码:{}, 返回信息:{}, 异常信息:{}",
acopayRefundQueryResponse.getStatus(), acopayRefundQueryResponse.getMessage(),
acopayRefundQueryResponse.getFieldErrors());
}
}
}