API REFERENCE
Pagamento com cartão
Para autorizações de cartão e compras diretas
Esta API destina-se a clientes que inserem os dados do cartão na página do estabelecimento, em vez de em uma página hospedada da YabandPay aberta por redirecionamento. Observe que:
-
Estabelecimentos certificados pelo PCI DSS e capazes de tratar com segurança dados do titular do cartão podem criar seu próprio formulário e enviar os dados por cardinfo.
-
Se o estabelecimento coletar dados do cartão usando o plugin frontend da YabandPay (entre em contato com a YabandPay para obter instruções de integração), o plugin retornará um payment_token_object criptografado de uso único para a solicitação de pagamento seguinte.
Dica
As autorizações são válidas por 30 dias. As ordens de autorização expiram automaticamente após 30 dias.
| Parâmetro | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| user | String | Conta de caixa UID | Obrigatório |
| sign | String | Signature | Obrigatório |
| method | String | v3.CreateCardPayments | Obrigatório |
| time | Long | Timestamp | Obrigatório |
- Parâmetros
| Parâmetro | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| pay_method | String | online | Obrigatório |
| sub_pay_method | String | Card | Obrigatório |
| operation | String | 1.Sales 2.Authorisation; | Obrigatório |
| order_id | String | ID do pedido do estabelecimento | Obrigatório |
| 3ds_initiate | String | 01. Enable 3DS verification; 02. Disable 3DS (requires activation approval); 03. SCA exemption (requires activation approval). | Obrigatório |
| sca_exemption | String | LowValue | Obrigatório quando 3ds_initiate=03 |
| payment_token_object | String | String obtained from the YabandPay payment plugin | Informe cardinfo ou payment_token_object |
| cardinfo | String | Informações do cartão | Informe cardinfo ou payment_token_object. Treat cardinfo as a string (do not include the fields inside cardinfo in the parameter sorting). |
| cardinfo.card_holder | string | Nome do titular do cartão | Obrigatório |
| cardinfo.card_number | string | Número do cartão | Obrigatório |
| cardinfo.expiration_month | string | Mês de validade do cartão, MM | Obrigatório |
| cardinfo.expiration_year | string | Ano de validade do cartão, YYYY | Obrigatório |
| cardinfo.cvc | string | CVC (armazenar o CVC em qualquer formato viola os requisitos do PCI DSS) | Obrigatório |
| amount | String | Valor como cadeia numérica. Por exemplo, informe 24.99 for € 24.99. | Obrigatório |
| currency | String | Código da moeda ISO 4217 currency code, for example EUR or CHF | Obrigatório |
| description | String | Descrição do pedido | Obrigatório |
| demo | String | Campo personalizado | Opcional |
| string | E-mail do titular do cartão | Obrigatório | |
| timeout | String | Tempo de expiração em minutos (0-1440) | Obrigatório |
| redirect_url | String | URL de redirecionamento após o pagamento | Opcional |
| notify_url | String | URL de notificação assíncrona após o pagamento | Obrigatório |
| request_id | String | ID de solicitação exclusivo; recomenda-se uma combinação de letras e números com pelo menos 24 characters is recommended | Obrigatório |
Exemplo de assinatura:
Parâmetros ordenados concatenados em uma cadeia de consulta no formato de URL
”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"
}
}
Exemplo de resposta:
{
"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"
}
Informações adicionais:
Resultado da resposta:
-
Uma solicitação bem-sucedida retorna "status": true.
-
Uma solicitação malsucedida retorna "status": false.
Redirecione o cliente para url, que foi retornado. Depois de concluir o 3DS nesse endereço, o cliente será redirecionado para redirect_url. Recomendamos fortemente usar Query Order e Asynchronous Notifications para manter os status de pagamento corretos e atualizados. a) Um pedido state of paid indica um pagamento bem-sucedido. b) Um pedido state of authorized indica uma autorização bem-sucedida. Para capturar um pagamento autorizado, chame a API Capture Authorization.
Códigos de resposta:
| 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 |
