Capture
After a successful pre-authorization, the capture must be processed within 30 days; otherwise, the pre-authorization will automatically expire.
The currency of the capture must match the currency of the pre-authorization, and the amount cannot exceed the originally authorized amount.
Each authorization transaction allows only one capture and does not support multiple captures.
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.CreateCardPayments | Required |
| time | Long | timestamp | Required |
- Parameter
| Parameter | Type | Description | Required |
|---|---|---|---|
| trade_id | String | the trade_id of authorized transaction | Required |
| amount | String | format in cents: € 24.99 should be 24.99 | Required |
| currency | String | ISO 4217, For example EUR, CHF | Required |
| description | String | order description | Required |
| notify_url | String | asynchronous notification url | Required |
| request_id | String | The request ID must be unique. It is recommended to use a combination of at least 24 digits and letters. | Required |
Signature:
Lexicographical sequence and URL key-value format new string
"amount=1¤cy=EUR&description=test&method=v3.Capture¬ify_url=https://www.yabandpay.com/notify&request_id=ca51f2fas3i0f8uiw7efj6oe4i2w1ghj&time=1720684254&trade_id=160899f3-f6d9-a8d8-ab5b-82eacdab9c5b&user=016683"
Use stringA and secret_key to get stringSign
Get Signature:
"f4dc6e73a3fe91547b4b20ca24056291b87b0d0642ea9b3869b854e65a6a9d5d"
Example Request:
{
"user": "016683",
"sign": "f4dc6e73a3fe91547b4b20ca24056291b87b0d0642ea9b3869b854e65a6a9d5d",
"method": "v3.Capture",
"time": 1720684254,
"data": {
"description": "test",
"trade_id": "160899f3-f6d9-a8d8-ab5b-82eacdab9c5b",
"amount": "1",
"currency": "EUR",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "ca51f2fas3i0f8uiw7efj6oe4i2w1ghj"
}
}
Example Request:
{
"status": true,
"code": "200",
"data": {
"order_id": "23505805395809345894869",
"trade_id": "160899f3-f6d9-a8d8-ab5b-82eacdab9c5b",
"amount": "1",
"currency": "EUR",
"settlement_amount": "1",
"settlement_currency": "EUR",
"exchange_rate": "1",
"state": "paid",
},
"message": "",
"response_id": "202407111550570060848432"
}
More Information:
Return results:
On a successful API call, the response will be
"status": true.On a failed API call, the response will be
"status": false.
We strongly recommend using both Order Query and Asynchronous Notification simultaneously to synchronize and update payment status, ensuring real-time accuracy of payment information.
Result/Error codes:
| Status | Code | Message |
|---|---|---|
| true | 200 | |
| false | -1000 | Internal error |
| false | -403 | The signature Error |
| false | -2001 | The user not exist |
| false | -3001 | Required field is missing |
| false | -4118 | Incorrect request ID |
| false | -4089 | Exceed capture window |
| false | -4084 | The captured amount exceeds the original authorized amount |
| false | -4085 | The captured currency is different from the original authorization currency |
| false | -4024 | The original trade ID is incorrect |