API REFERENCE
Pago con tarjeta
Para autorizaciones de tarjeta y compras directas
Esta API está destinada a clientes que introducen los datos de su tarjeta en la página del comercio, en lugar de en una página alojada por YabandPay a la que se les redirija. Tenga en cuenta lo siguiente:
-
Los comercios certificados según PCI DSS y capaces de gestionar de forma segura los datos del titular pueden crear su propio formulario de tarjeta y enviar los datos mediante cardinfo.
-
Si el comercio recopila los datos de tarjeta mediante el complemento de frontend de YabandPay (contacte con YabandPay para obtener instrucciones de integración), el complemento devuelve un valor cifrado de un solo uso payment_token_object for the subsequent payment request.
Consejo
Las autorizaciones son válidas durante 30 días. Las órdenes de autorización caducan automáticamente después de 30 days.
| Parámetro | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| user | String | Cashier account UID | Obligatorio |
| sign | String | Signature | Obligatorio |
| method | String | v3.CreateCardPayments | Obligatorio |
| time | Long | Timestamp | Obligatorio |
- Parameters
| Parámetro | Tipo | Descripción | Obligatorio |
|---|---|---|---|
| pay_method | String | online | Obligatorio |
| sub_pay_method | String | Card | Obligatorio |
| operation | String | 1.Sales 2.Authorisation; | Obligatorio |
| order_id | String | Merchant order ID | Obligatorio |
| 3ds_initiate | String | 01. Enable 3DS verification; 02. Disable 3DS (requires activation approval); 03. SCA exemption (requires activation approval). | Obligatorio |
| sca_exemption | String | LowValue | Required when 3ds_initiate=03 |
| payment_token_object | String | String obtained from the YabandPay payment plugin | Provide either cardinfo or payment_token_object |
| cardinfo | String | Card information | Provide either cardinfo or payment_token_object. Treat cardinfo as a string (do not include the fields inside cardinfo in the parameter sorting). |
| cardinfo.card_holder | string | Cardholder name | Obligatorio |
| cardinfo.card_number | string | Card number | Obligatorio |
| cardinfo.expiration_month | string | Card expiration month, MM | Obligatorio |
| cardinfo.expiration_year | string | Card expiration year, YYYY | Obligatorio |
| cardinfo.cvc | string | CVC (storing the CVC in any form violates PCI DSS requirements) | Obligatorio |
| amount | String | Amount as a numeric string. For example, enter 24.99 for € 24.99. | Obligatorio |
| currency | String | ISO 4217 currency code, for example EUR or CHF | Obligatorio |
| description | String | Order description | Obligatorio |
| demo | String | Custom field | Opcional |
| string | Cardholder email | Obligatorio | |
| timeout | String | Expiration time in minutes (0-1440) | Obligatorio |
| redirect_url | String | Redirect URL after payment | Opcional |
| notify_url | String | Asynchronous notification URL after payment | Obligatorio |
| request_id | String | Unique request ID; a combination of digits and letters at least 24 characters is recommended | Obligatorio |
Signature example:
Sorted parameters concatenated into a URL-style query string
”3ds_initiate=01&amount=0.1&cardinfo={"card_holder":"John Smith","card_number":"4356789012345670","expiration_month":"01","expiration_year":"2023","cvc":"123"}¤cy=EUR&description=test&email=JohnSmith@gmail.com&method=v3.CreateCardPayments¬ify_url=https://www.yabandpay.com/notify&operation=1&order_id=1756878556&pay_method=online&redirect_url=https://www.yabandpay.com/redirect_url&request_id=a7z1lox4l6z6mdx1udgn5gtezasze1x0&sca_exemption=LowValue&sub_pay_method=Card&time=1756878556&timeout=0&user=YOUR_CASHIER_UID“
Request example using cardinfo:
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.CreateCardPayments",
"time": 1756878556,
"data": {
"description": "test",
"3ds_initiate": "01",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Card",
"operation": "1",
"order_id": 1756878556,
"cardinfo": "{\"card_holder\":\"John Smith\",\"card_number\":\"4356789012345670\",\"expiration_month\":\"01\",\"expiration_year\":\"2023\",\"cvc\":\"123\"}",
"sca_exemption": "LowValue",
"email": "JohnSmith@gmail.com",
"amount": "0.1",
"currency": "EUR",
"redirect_url": "https://www.yabandpay.com/redirect_url",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "a7z1lox4l6z6mdx1udgn5gtezasze1x0"
}
}
Request example using payment_token_object:
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.CreateCardPayments",
"time": 1720680417,
"data": {
"payment_token_object": "4564sf65as4f5awe4ft65awe4gt65ewaa4t65ew4t65ew4t65rew4t",
"description": "test",
"3ds_initiate": "01",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Card",
"operation": "1",
"order_id": "YOUR_ORDER_ID",
"amount": "1",
"currency": "EUR",
"redirect_url": "https://www.yabandpay.com/redirect_url",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "tscqf7ki76o7aem4z1yl1xs72f89fptl"
}
}
Response example:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "160899f3-f6d9-a8d8-ab5b-82eacdab9c5b",
"amount": "1.00",
"currency": "EUR",
"url": "https://pay.yabandpay.com/payments/callback/order/MTYwODk5ZjMtZjZkOS1hOGQ4LWFiNWItODJlYWNkYWI5YzVi",
"state": "processing"
},
"message": "",
"response_id": "202407111544200649155078"
}
Additional information:
Response result:
-
A successful request returns "status": true.
-
A failed request returns "status": false.
Redirija al cliente a la url. After completing 3DS there, the customer is redirected to redirect_url. Recomendamos encarecidamente utilizar tanto Consulta de pedido como Notificaciones asíncronas para mantener los estados de pago precisos y actualizados. a) An order state of paid indicates a successful payment. b) An order state of authorized indicates a successful authorization. To capture an authorized payment, call the Capture Authorization API.
Response 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 |
