Refund
For a period after a payment transaction has been completed and a refund is required by either the Payer or Merchant, the Merchant can refund the Payer via this API. After the YabandPay receives and verifies the refund request successfully, the Payer will be refunded with the request refund amount (less than or equal to the original payment amount) according to the refund rules.
[!TIP|style:flat]
For any transaction completed more than one year prior, a refund is not supported;
A refund for a transaction can be processed in the form of multiple partial refunds. In this case, the original order number is required . The total refund amount cannot exceed the original payment amount.
Partial refund for one order should be less than 30 times.
API URL:https://mapi.yabandpay.com/Payments
Method:POST
POST data type:Json
Parameter | Type | Description | Required |
---|---|---|---|
user | String | the UID of cashier account | Required |
sign | String | signature | Required |
method | String | v3.CreateRefund | Required |
time | Long | timestamp |
- Parameter
Parameter | Type | Description | Required |
---|---|---|---|
trade_id | String | the trade_id from YabandPay | Required |
m_refund_id | String | merchant-defined refund number | Optional |
refund_amount | String | refund amount,Format in cents: € 1.99 should be 1.99 | Required |
refund_currency | String | settlement currency | Required |
refund_description | String | refund description | Required |
notify_url | String | asynchronous notification url | Required |
Signature:
Lexicographical sequence and URL key-value format new string
"m_refund_id=20240304094405131317&method=v3.CreateRefund¬ify_url=https://www.yabandmedia.com/pay/redirectpage.php&refund_amount=0.1&refund_currency=EUR&refund_description=test&time=1546588959&trade_id=5feb401d-d9a4-776f-211f-882b60f14d9d&user=016683"
Use stringA and secret_key to get stringSign
Get Signature:
"0c9a2835c2c698e5b8b20177e57f0e846093c85a011e8ffc423187d30aa8b8ca"
Example Request:
{
"user": "016683",
"sign": "0c9a2835c2c698e5b8b20177e57f0e846093c85a011e8ffc423187d30aa8b8ca",
"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.yabandmedia.com/pay/redirectpage.php"
}
}
Example Response:
{
"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",
"settlement_refund_amount": "0.10",
"settlement_refund_currency": "EUR",
"pay_method": "online",
"sub_pay_method": "WeChat Pay",
"state": "refund processing"
},
"message": ""
}
Please note: Refund is processed asynchronously. When get response status: true it means submission is successful, so please waiting notify or call Query to check the refund status .