交易退款¶
当发起一笔支付订单成功完成支付以后,如有需要可通过交易退款接口申请退款,支付款项将按原路返回。
- 接口返回成功仅表示退款申请受理成功,资金到账时间依赖于银行,通常3到7个工作日内到账,用户会收到退款。
- 当日商户在汇付的账户的余额小于退货金额时,退款申请不会成功,建议退款前保证账户余额充足。
- 部分退货时,按退货金额比率计算退还手续费、不足一分时采用四舍五入,比较退还手续费与可退手续费,如果可退手续费小于计算所得退还手续费,则当笔退货的退还手续费就是可退手续费,当最后一次退款时,如可退手续费大于计算所得退还手续费时,则当笔退还手续费也等于可退手续费,保证手续费全部退还。
请求参数¶
- 请求地址
https://spin.cloudpnr.com/toprrc/refund
- 公共请求参数
请求报文头HEADER - 「接口规则-参数规定-报文头」 ,请求报文体BODY - 「接口规则-参数规定-报文体」 ,响应报文体 - 「接口规则-参数规定-响应报文体」
- 请求参数(data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
req_seq_id | 请求流水号 | String | Y | 128 | 请求流水号,请求日期 + 请求流水号需保证唯一 |
req_date | 请求时间 | String | Y | 8 | YYYYMMDD |
mer_ord_id | 商户订单号 | String | Y | 128 | 商户订单号 |
huifu_id | 商户号 | String | Y | 32 | 汇付分配的商户号 |
acct_split_bunch | 分账串 | JSON | N | 4000 | 见附录 请求分账串 |
org_req_seq_id | 原交易请求流水号 | String | N | 20 | org_req_seq_id,party_order_id,hf_seq_id必须传一个 |
hf_seq_id | 汇付流水号 | String | N | 128 | |
party_order_id | 微信支付宝的商户单号 | String | N | 64 | |
org_req_date | 原交易请求日期 | String | Y | 8 | 原交易请求日期,需和原交易上送的req_date保持一致。 |
ord_amt | 退款金额 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
terminal_device_info | 设备信息 | JSON | N | 1024 | Json对象,详见 设备信息 |
mark | 备注 | String | N | 45 | 退货原因,超出长度会导致退货失败,有中文时需要进行UrlEncode编码,如:%E6%B5%8B%E8%AF |
mer_priv | 扩展域 | String | N | 1500 | |
risk_check_info | 风控信息 | String | Y | 4000 | 风控信息,jsonObject字符串,详见 风控信息 |
notify_url | 异步通知地址 | String | Y | 512 | 异步通知地址,例:virgo://http://www.xxx.com/getResp |
digital_currency_data | 数字货币扩展参数集合 | JSON | N | 数字货币退款必填,详见 数字货币扩展参数 |
响应参数¶
- 同步响应参数(data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
sub_resp_code | 业务返回码 | String | Y | 8 | 见附录 业务返回码 |
sub_resp_desc | 业务返回描述 | String | Y | 512 | 业务返回描述 |
req_seq_id | 请求流水号 | String | Y | 128 | 请求流水号 |
req_date | 请求日期 | String | Y | 8 | 请求日期 |
hf_seq_id | 汇付流水号 | String | Y | 128 | 汇付流水号 |
product_id | 产品号 | String | Y | 32 | 产品号 HTTP请求不传,Pegasus请求必填 |
mer_ord_id | 商户订单号 | String | Y | 50 | 即商户支付订单号,商户传入时保证唯一 格式:数字+字母 |
org_req_seq_id | 原交易请求流水号 | String | N | 128 | |
org_req_date | 原交易请求日期 | String | N | 8 | |
trans_date | 交易发生日期 | String | Y | 8 | YYYYMMDD |
ord_amt | 退款金额 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
trans_time | 交易时间 | String | N | 6 | 交易发生时间,HHMMSS |
huifu_id | 商户号 | String | Y | 32 | 汇付分配的商户号 |
trans_stat | 交易状态 | String | N | 1 | S-退款成功F-退款失败P-退款处理中 |
pay_type | 支付类型 | String | N | 2 | 例:TRANS_REFUND 详见附录 交易类型 |
bank_code | 通道返回码 | String | N | 64 | |
bank_message | 通道返回描述 | String | N | 256 | |
actual_ref_amt | 实际退款金额 | String | N | 14 | 实际退款金额 |
mer_priv | 扩展域 | String | N | 1500 | |
acct_split_bunch | 分账串 | JSON | N | 4000 | 见附录 返回分账串 |
- 异步响应参数(resp_data)
参数 | 中文名 | 类型 | 必填 | 最大长度 | 说明 |
---|---|---|---|---|---|
sub_resp_code | 业务返回码 | String | Y | 8 | 见附录 业务返回码 |
sub_resp_desc | 业务返回描述 | String | Y | 512 | 业务返回描述 |
req_seq_id | 请求流水号 | String | Y | 32 | 请求流水号 |
req_date | 请求日期 | String | Y | 8 | 请求日期 |
hf_seq_id | 汇付流水号 | String | Y | 128 | 汇付流水号 |
product_id | 产品号 | String | Y | 18 | 产品号 |
trans_type | 交易类型 | String | Y | 40 | 例:TRANS_REFUND 详见附录 交易类型 |
mer_ord_id | 商户订单号 | String | Y | 50 | 商户订单号 |
org_req_seq_id | 原交易请求流水号 | String | N | 32 | |
org_req_date | 原交易请求日期 | String | N | 8 | |
org_term_ord_id | 原交易的请求订单号 | String | N | 128 | |
trans_date | 交易发生日期 | String | Y | 8 | YYYYMMDD |
trans_time | 交易时间 | String | N | 6 | 交易发生时间,HHMMSS |
ord_amt | 退款金额 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
org_ord_amt | 原交易订单金额 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
org_fee_amt | 原交易手续费 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
total_ref_amt | 原交易累计退款金额 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
total_ref_fee_amt | 原交易累计退款手续费金额 | String | Y | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
ref_cut | 累计退款次数 | String | N | 14 | 单位元,需保留小数点后两位,例如: 1.00 |
huifu_id | 商户号 | String | Y | 32 | 汇付分配的商户号 |
bank_code | 通道返回码 | String | N | 64 | |
bank_message | 通道返回描述 | String | N | 256 | |
trans_stat | 交易状态 | String | N | 1 | S-退款成功F-退款失败P-退款处理中 |
actual_ref_amt | 实际退款金额 | String | N | 14 | 实际退款金额 |
acct_split_bunch | 分账串 | JSON | N | 4000 | 见附录 返回分账串 |
devs_id | 汇付终端号 | String | N | 32 | |
mer_priv | 扩展域 | String | N | 1500 | |
party_order_id | 微信支付宝的商户单号 | String | N | 64 |
请求示例¶
- http
{
"sys_id":"test",
"sign_type":"RSA2",
"sign":"TEST_SIGN",
"data":"{\"req_seq_id\":\"2540303057457699\",\"req_date\":\"20200317\",\"mer_ord_id\":\"2715052605087862\",\"huifu_id\":\"6666000001016747\",\"party_order_id\":\"\",\"hf_seq_id\":\"0029000topB200215162319P844c0a8108c00000\",\"risk_check_info\":\"{\\\"base_station\\\":\\\"\\\",\\\"latitude\\\":\\\"121.418298\\\",\\\"mobile_country_code\\\":\\\"460\\\",\\\"longitude\\\":\\\"31.177938\\\"}\",\"org_req_seq_id\":\"1540303057457699\",\"org_req_date\":\"20200317\",\"ord_amt\":\"0.02\",\"terminal_device_info\":{\"device_type\":\"\",\"device_ip\":\"\",\"device_mac\":\"\",\"device_imei\":\"\",\"device_imsi\":\"\",\"device_icc_id\":\"\",\"device_wifi_mac\":\"\",\"device_gps\":\"\"},\"mark\":\"\"}"
}
响应示例¶
{
"data": "{\"hf_seq_id\":\"0029000topB200215162319P844c0a8108c00000\",\"huifu_id\":\"6666000001016747\",\"mer_ord_id\":\"2715052605087862\",\"product_id\":\"TEST\",\"req_date\":\"20200317\",\"req_seq_id\":\"2540303057457699\",\"sub_resp_code\":\"20000000\",\"sub_resp_desc\":\"重复交易\",\"trans_stat\":\"F\",\"version\":\"1.0.0\"}",
"resp_code": "10000",
"resp_desc": "成功调用",
"sign": "jj0uA3Qn21ST/HAE/XVwb1sxghtNZgQob5bPbffxLbXcg4VC5RjfNGPl1IbD+rgfFd6NP+9EQsiEMEC5h+M3eYmfkUcuWQ15iX7fNrbNts+njRpd0tAw0VO/4iE1ZjaPsGO+q7WNfVuvfmx6Df7QmN2jm4HMJ0NmVSA14rKeNowHZvczmA02o88AaWtqxTZleRyNk/vkb+Ymw22uK5mKn52X0pfAbYZhQlPR51wGhF648OcMFnGrg57F8KAKx9Pc/vaXD42Cg3O56IU1MTnqBgVSp7UXVNWAdQscNa6gFYej/FeYuQW11jLau12O7dbth4QB5hUu7su9eVUGL/Pm9g=="
}
- 接口调用实例