跨境系统-订单退款

发起退款

接口描述

使用此接口发起对原交易的退款请求

测试请求地址 https://cbtrxtest.helipay.com/cbtrx/rest/refund/refundApply
请求地址 https://cbptrx.helipay.com/cbtrx/rest/refund/refundApply
提交方式 采用POST方法提交,requestbody传值 Content-Type=[application/json;charset=UTF-8]
签名算法 UTF-8字符编码 SHA256签名 AES加密

请求参数

名称 参数 类型 必填 示例值 说明
原订单产品编码 productCode String(20) 例:ONLINEB2C、ONLINEB2B、QUICKPAY等
原订单号 orderNo String(64) p_20170302185347 原交易订单号
商户编号 merchantNo String(10) Me10000002 合利宝-跨境系统分配的商户编号
退款请求订单号 refundOrderNo String(64) refund_p_20170302185347
退款金额 refundAmount Number(10.2) 0.01 单位:元
退款备注 refundDesc String(128) 备注 备注退款原因等信息
平台商户编号 platMerchantNo String(10) 如下说明 电商平台商户所属的平台商编号
分账退款请求参数明细 shareRefundList List(100) 如下说明 分账订单退款,必须填写分账退款明细
服务器回调地址 refundNotifyAddress String(128) www.baidu.com 服务器回调地址

分账退款请求参数明细

名称 参数 类型 必填 示例值 说明
排序参数 index Integer 1 用于交易加密参数排序,不能重复
指定退款分账账户编号 shareMerchantNo String(10) Me10000002
退款金额 refundAmount Number(10.2) 0.01 单位:元
所有分账退款明细金额相加必须等于总退款金额

响应参数

名称 参数 类型 必填 示例值 说明
响应码 errorCode String(10) 0000 0000 代表请求成功
响应信息 errorMessage String(200) 成功 响应信息 错误信息
原订单产品编码 productCode String(20)
响应时间 current String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
原订单号 orderNo String(64) p_20170302185347
商户编号 merchantNo String(10) Me10000002 合利宝-跨境系统分配的商户编号
退款汇总:refundRecord
原订单请求号 sourceOrderNo String(64)
原订单序列号 sourceSerialNumber String(32)
原订单金额 sourceOrderAmount Number(10.2)
原订单手续费 sourceOrderFee Number(10.2)
原订单完成时间 sourceOrderCompleteDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
已退款金额 refundedAmount Number(10.2)
已退款手续费 refundedFee Number(10.2)
退款次数 refundCount int
最近退款时间 latestRefundDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
退款明细:detail
退款序列号 serialNumber String(64)
退款请求号 refundOrderNo String(64)
退款金额 refundAmount Number(10.2)
退款手续费 refundFee Number(10.2)
退款入账金额 refundInAccountAmout Number(10.2)
创建时间 createDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
退款完成时间 completeDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
退款状态 refundStatus String(20) INIT (初始化)、RECEIVE(接收)、DOING(处理中)、CLOSE(关闭)、SUCCESS(成功)、FAIL(失败)
退款描述 refundDesc String(128)

代码示例

ModelAndView modelAndView = new ModelAndView();
if (bindingResult.hasErrors()) {
    throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage());
}
HeliRequest result = HandleDataUtils.encodeAndSign(refundForm,refundForm.getProductCode(),refundForm.getMerchantNo());
HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("orderRefundURL"), JSONObject.toJSONString(result), HeliRequest.class);
OrderRefundResponseForm orderRefundResponseForm = HandleDataUtils.decode(heliRequest, OrderRefundResponseForm.class,refundForm.getProductCode(),refundForm.getMerchantNo());
if (!CbDemoConstants.SUCCESS_CODE.equals(orderRefundResponseForm.getErrorCode())) {
    throw new CommonSystemException(orderRefundResponseForm.getErrorCode(),orderRefundResponseForm.getErrorMessage());
}
logger.info("返回详细信息------------{}",orderRefundResponseForm.toString());
                                

                                

                                

错误码

错误码 错误码描述 解决方案

退款查询

接口描述

使用此接口发起对退款请求的查询

测试请求地址 https://cbtrxtest.helipay.com/cbtrx/rest/refund/queryRefund
请求地址 https://cbptrx.helipay.com/cbtrx/rest/refund/queryRefund
提交方式 采用POST方法提交,requestbody传值 Content-Type=[application/json;charset=UTF-8]
签名算法 UTF-8字符编码 SHA256签名 AES加密

请求参数

名称 参数 类型 必填 示例值 说明
原订单产品编码 productCode String(20) 例:ONLINEB2C、ONLINEB2B、QUICKPAY等
退款订单号 orderNo String(64) p_20170302185347 原交易订单号
商户编号 merchantNo String(10) Me10000002 合利宝-跨境系统分配的商户编号
会员编号 subMerchantNo String(10) Me10000021 商户的会员,如原交易与会员无关,可不填
平台商户编号 platMerchantNo String(10) 如下说明 电商平台商户所属的平台商编号

响应参数

名称 参数 类型 必填 示例值 说明
响应码 errorCode String(10) 0000 0000 代表请求成功
响应信息 errorMessage String(200) 成功 响应信息 错误信息
原订单产品编码 productCode String(20)
响应时间 current String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
原订单号 orderNo String(64) p_20170302185347
商户编号 merchantNo String(10) Me10000002 合利宝-跨境系统分配的商户编号
退款汇总:refundRecord
原订单请求号 sourceOrderNo String(64)
原订单序列号 sourceSerialNumber String(32)
原订单金额 sourceOrderAmount Number(10.2)
原订单手续费 sourceOrderFee Number(10.2)
原订单完成时间 sourceOrderCompleteDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
已退款金额 refundedAmount Number(10.2)
已退款手续费 refundedFee Number(10.2)
退款次数 refundCount int
最近退款时间 latestRefundDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
退款明细:detail
退款序列号 serialNumber String(64)
退款请求号 refundOrderNo String(64)
退款金额 refundAmount Number(10.2)
退款手续费 refundFee Number(10.2)
退款入账金额 refundInAccountAmout Number(10.2)
创建时间 createDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
退款完成时间 completeDate String(20) 2018-04-01 12:00:00 格式yyyy-MM-dd HH:mm:ss
退款状态 refundStatus String(20) INIT (初始化)、RECEIVE(接收)、DOING(处理中)、CLOSE(关闭)、SUCCESS(成功)、FAIL(失败)
退款描述 refundDesc String(128)

代码示例

ModelAndView modelAndView = new ModelAndView();
if (bindingResult.hasErrors()) {
    throw new CommonSystemException(CommonSystemException.ILLEGAL_DATA_REQUEST[0], bindingResult.getFieldError().getDefaultMessage());
}
HeliRequest result = HandleDataUtils.encodeAndSign(queryForm,queryForm.getProductCode(),queryForm.getMerchantNo());
HeliRequest heliRequest = remoteService.postRemoteInvoke(LoadPropertiesUtils.getProperty("orderRefundQueryURL"), JSONObject.toJSONString(result), HeliRequest.class);
OrderRefundResponseForm orderRefundResponseForm = HandleDataUtils.decode(heliRequest, OrderRefundResponseForm.class,queryForm.getProductCode(),queryForm.getMerchantNo());
if (!CbDemoConstants.SUCCESS_CODE.equals(orderRefundResponseForm.getErrorCode())) {
    throw new CommonSystemException(orderRefundResponseForm.getErrorCode(),orderRefundResponseForm.getErrorMessage());
}
logger.info("返回详细信息------------{}",orderRefundResponseForm.toString());
                                

                                

                                

错误码

错误码 错误码描述 解决方案