当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,平台将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家账号上。
同一笔交易累计提交的退款金额不能超过原始交易总金额。
公共请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
app_id | String | 必选 | 32 | 小程序 id | 2014072300007148 |
method | String | 必选 | 128 | 接口名称 | trade.refund |
format | String | 可选 | 40 | 仅支持 JSON | JSON |
charset | String | 必选 | 10 | 请求使用的编码格式,如 utf-8,gbk,gb2312 等 | utf-8 |
sign_type | String | 必选 | 10 | 商户生成签名字符串所使用的签名算法类型,目前支持 RSA2 和 RSA,推荐使用 RSA2 | RSA2 |
sign | String | 必选 | 344 | 商户请求参数的签名串,详见签名 | 详见示例 |
timestamp | String | 必选 | 19 | 发送请求的时间,格式 | 2014-07-24 03:07:50 |
version | String | 必选 | 3 | 调用的接口版本,固定为:1.0 | 1.0 |
biz_content | String | 必选 | - | 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档 | - |
业务请求参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
refund_amount | String | 必选 | 16 | 退款金额。需要退款的金额,该金额不能大于订单金额,单位根据业务自行定义,支持两位小数。 说明 如果正向交易使用了营销,该退款金额包含营销金额,平台会按业务规则分配营销和买家自有资金分别退多少,默认优先退买家的自有资金。如交易总金额 100 美元,用户支付时使用了 80 美元自有资金和 20 美元无资金流的营销券,商家实际收款 80 美元。如果首次请求退款 60 美元,则 60 美元全部从商家收款资金扣除退回给用户自有资产;如果再请求退款 40 美元,则从商家收款资金扣除 20 美元退回用户资产以及把 20 美元的营销券退回给用户(券是否可再使用取决于券的规则配置)。 | 200.12 |
out_trade_nostring | String | 可选 | 64 | 商户订单号。订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一。与平台交易号 trade_no 不能同时为空。 | 20150320010101001 |
trade_no | String | 可选 | 64 | 平台交易号。和商户订单号 out_trade_no 不能同时为空,两者同时存在时,优先取值trade_no | 2014112611001004680073956707 |
refund_reason | String | 可选 | 256 | 退款原因说明。商家自定义,将在会在商户和用户的 pc 退款账单详情中展示 | 正常退款 |
out_request_no | String | 可选 | 64 | 退款请求号。标识一次退款请求,需要保证在交易号下唯一,如需部分退款,则此参数必传。 说明 针对同一次退款请求,如果调用接口失败或异常了,重试时需要保证退款请求号不能变更,防止该笔交易重复退款。平台会保证同样的退款请求号多次请求只会退一次。 部分退款时必选 | HZ01RF001 |
buyer_open_id | String | 必选 | 128 | 买家用户唯一标识 | 074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5 |
body | string | 可选 | 128 | 订单附加信息。 如果请求时传递了该参数,将在异步通知、对账单中原样返回,同时会在商户和用户的 pc 账单详情中作为交易描述展示 | iPhone6 16G |
常见请求示例
默认示例:
curl 'https://xxx/gateway.do?charset=UTF-8&method=trade.refund&format=json&sign=${sign}&app_id=${appid}&version=1.0&sign_type=RSA2×tamp=${now}' \
-F 'biz_content={
"out_trade_no":"20150320010101001",
"trade_no":"2014112611001004680073956707",
"refund_amount":"200.12",
"refund_reason":"正常退款",
"out_request_no":"HZ01RF001",
本示例仅供参考。
公共响应参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
code | String | 必选 | - | 网关返回码 | 40004 |
msg | String | 必选 | - | 网关返回码描述 | Business Failed |
sub_code | String | 可选 | - | 业务返回码,参见具体的 API 接口文档 | ACQ.TRADE_HAS_SUCCESS |
sub_msg | String | 可选 | - | 业务返回码描述,参见具体的 API 接口文档 | 交易已被支付 |
sign | String | 必选 | - | 签名 | DZXh8eeTuAHoYE3w1J+POiPhfDxOYBfUNn1lkeT/V7P4zJdyojWEa6IZs6Hz0yDW5Cp/viufUb5I0/V5WENS3OYR8zRedqo6D+fUTdLHdc+EFyCkiQhBxIzgngPdPdfp1PIS7BdhhzrsZHbRqb7o4k3Dxc+AAnFauu4V6Zdwczo= |
业务响应参数
参数 | 类型 | 是否必选 | 最大长度 | 描述 | 示例值 |
out_trade_no | String | 必选 | 64 | 商户订单号 | 20150423001001 |
trade_no | String | 必选 | 64 | Payme 交易号 | 2015042321001004720200028594 |
buyer_open_id | String | 必选 | 100 | 买家用户唯一标识 | 074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5 |
refund_fee | String | 必选 | 11 | 退款总金额。单位根据业务自行定义。 指该笔交易累计已经退款成功的金额 | 88.88 |
响应示例
{
"trade_refund_response": {
"code": "10000",
"msg": "Success",
"trade_no": "2013112011001004330000121536",
"out_trade_no": "6823789339978248",
"refund_fee": "88.88",
"buyer_open_id": "074a1CcTG1LelxKe4xQC0zgNdId0nxi95b5lsNpazWYoCo5"
},
"sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE"
}