trade.refund

当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,平台将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家账号上。

同一笔交易累计提交的退款金额不能超过原始交易总金额。

公共请求参数

参数

类型

是否必选

最大长度

描述

示例值

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

发送请求的时间,格式 yyyy-MM-dd HH:mm:ss

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&timestamp=${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"
}