提交退款
在支付完成后,商户可以调用此API对该订单发起退款,退款将会通过支付的原路径退还到用户,但退款总金额不能大于支付金额。
[!TIP|style:flat] 注意:
1、微信支付和支付宝+: 退款只支持12个月以内的交易;一个订单支持多次退款,多次退款的总额不能大于支付金额;一个订单最多退款次数为50次;
2、其他支付暂时只能支持提交一次退款。
API URL:https://mapi.yabandpay.com/Payments
Method:POST
POST data type:Json
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
user | String | 收银员账号的UID | 必填 |
sign | String | 签名 | 必填 |
method | String | v3.CreateRefund | 必填 |
time | Long | 时间戳 | 必填 |
- 参数
参数 | 类型 | 描述 | 是否必填 |
---|---|---|---|
trade_id | String | YabandPay订单编号 | 必填 |
refund_amount | String | 退款金额,例如1.99 | 必填 |
refund_currency | String | 货币代码,ISO 4217,例如EUR,CHF。必须与原始交易订单货币相同。 | 必填 |
refund_description | String | 退款描述 | 必填 |
notify_url | String | 异步通知地址 | 必填 |
m_refund_id | String | 商户自定义的退款参考号 | 选填 |
签名示例:
拼接为URL方式并排序后的字符串
"m_refund_id=20240304094405131317&method=v3.CreateRefund¬ify_url=https://www.yabandpay.com&refund_amount=0.1&refund_currency=EUR&refund_description=test&time=1546588959&trade_id=5feb401d-d9a4-776f-211f-882b60f14d9d&user=016683"
得到的 stringA 使用 secret_key做签名
得到的签名如下:
"5050194672112e5c720f6d4265f30b001f5bab11b24c2675b56056915f92a608"
提交示例:
{
"user": "016683",
"sign": "5050194672112e5c720f6d4265f30b001f5bab11b24c2675b56056915f92a608",
"method": "v3.CreateRefund",
"time": 1546588959,
"data": {
"trade_id": "5feb401d-d9a4-776f-211f-882b60f14d9d",
"m_refund_id": "20240304094405131317",
"refund_amount": "0.1",
"refund_currency": "EUR",
"refund_description": "test",
"notify_url": "https://www.yabandpay.com/notify"
}
}
返回示例:
{
"status": true,
"code": "200",
"data": {
"trade_id": "5feb401d-d9a4-776f-211f-882b60f14d9d",
"refund_id": "3841510a-4d18-4a61-808d-431a45006de2",
"m_refund_id": "20240304094405131317",
"refund_amount": "0.10",
"refund_currency": "EUR",
"state": "refund processing"
},
"message": ""
}
更多信息:
返回结果:
若调用成功,则返回
"status": true
若调用失败,则返回
"status": fales
请注意:退款是异步处理,当返回status:true
为提交成功,提交成功后请注意查收异步通知或调用退款订单查询查询退款状态。
退款状态:
Code | State | Message |
---|---|---|
20 | to-be-approval | 等待管理员批准。 |
21 | refund pending | 当前余额不足,余额充足时自动提交退款。 |
22 | refund processing | 退款请求已经提交,系统正在处理中。 |
23 | refunded | 退款已经成功完成。 |
24 | refund failed | 退款失败,请再次尝试。 |
25 | refund error | 退款失败,请联系我们在线客服。 |
26 | refund cancelled | 退款订单已经被取消。 |