使用此接口发起对原交易的退款请求
测试请求地址 | 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());
错误码 | 错误码描述 | 解决方案 |
---|---|---|