API REFERENCE
Pagamentos por token
Parâmetros
| Parameter | Type | Descrição | Obrigatório |
|---|---|---|---|
| data.pay_method | string | online | ✓ |
| data.sub_pay_method | string | Token | ✓ |
| data.operation | string | 11.Token for sales 12.Token for authorisation; | ✓ |
| data.order_id | integer | 商户的订单ID | ✓ |
| data.sca_exemption | string | LowValue | ✓ |
| data.amount | string | 金额数字。例如 € 24.99 应该写成24.99 | ✓ |
| data.currency | string | 货币代码,ISO 4217,例如EUR,CHF | ✓ |
| data.payment_token_object | string | 支付Token | ✓ |
| data.description | string | 订单描述 | ✓ |
| data.demo | string | 自定义字段 | — |
| data.timeout | string | 过期时间单位分钟(0-1440) | ✓ |
| data.notify_url | string | 支付完成后异步通知地址 | ✓ |
| data.request_id | string | 请求id需保持唯一,建议24以上位数字+字母 | ✓ |
| data.3ds_initiate | string | 01. 开启3ds验证; 02.不开启3DS(需申请开通);03. SCA豁免(需申请开通); | ✓ |
Aplica-se a: iniciar pagamentos com Token — cartões de crédito
Depois que o pagador conclui uma transação padrão com cartão de crédito na página hospedada da YabandPay e dá seu consentimento, a YabandPay converte os dados confidenciais do titular do cartão em uma cadeia numérica aleatória (um Token) para remover informações de identificação. O Token pode ser usado nos seguintes pagamentos:
- Os usuários podem pagar com um clique na página de checkout, sem inserir os dados do cartão de crédito.
- Os estabelecimentos podem usar este Token para pagamentos recorrentes, cobranças de assinaturas e finalidades semelhantes.
[!TIP|style:flat] Fluxo de trabalho
- Ative os pagamentos com Token. Entre em contato com seu gerente de conta para habilitar esse recurso.
- Obtenha o consentimento do usuário. Ao habilitar pagamentos expressos (pagamentos com Token) para consumidores, informe-os claramente e obtenha seu consentimento para evitar possíveis disputas.
- Obtenha um Token. Primeiro, inicie uma transação padrão com cartão de crédito. A YabandPay retorna um url de pagamento. Depois que o usuário conclui o pagamento nesse url e dá seu consentimento, a YabandPay retorna o Token em uma notificação assíncrona usando o parâmetro payment_token_object.
- Inicie um pagamento com Token. Inclua o Token na variável payment_token_object. Se a validação do Token for bem-sucedida, a YabandPay processará o pagamento. Se falhar, a YabandPay retornará um erro. Nesse caso, recomendamos iniciar outra transação padrão com cartão de crédito para obter um Token e iniciar o pagamento novamente.
| 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 | Token | Obrigatório |
| operation | String | 11.Token for sales 12.Token for 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 | 3ds_initiate=03 Required |
| 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 |
| payment_token_object | String | Token de pagamento | Obrigatório |
| description | String | Descrição do pedido | Obrigatório |
| demo | String | Campo personalizado | Opcional |
| timeout | String | Tempo de expiração em minutos (0-1440) | Obrigatório |
| 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=1¤cy=EUR&description=test&method=v3.CreateCardPayments¬ify_url=https://www.yabandpay.com/notify&operation=11&order_id=1725875543&pay_method=online&payment_token_object=VnXaRabcsedfsSlPFZXavcsdfasdEFDd&request_id=hjf5lv32i40lh7oh86j6az98tnscwv37&sub_pay_method=Token&time=1725875543&timeout=0&user=YOUR_CASHIER_UID"
Assine a stringA usando secret_key
A assinatura resultante é:
"YOUR_SIGNATURE"
Exemplo de solicitação:
{
"user": "YOUR_CASHIER_UID",
"sign": "YOUR_SIGNATURE",
"method": "v3.CreateCardPayments",
"time": 1725875543,
"data": {
"3ds_initiate": "01",
"description": "test",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Token",
"operation": "11",
"order_id": 1725875543,
"amount": "1",
"currency": "EUR",
"payment_token_object": "VnXaRabcsedfsSlPFZXavcsdfasdEFDd",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "hjf5lv32i40lh7oh86j6az98tnscwv37"
}
}
Exemplo de resposta:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "109bb0e9-e1fb-49cb-c537-ec944f33c388",
"amount": "1.00",
"currency": "EUR",
"state": "paid"
},
"message": "",
"response_id": "202409091752241912726578"
}
Informações adicionais:
MIT & CIT :
MIT = transações subsequentes iniciadas pelo estabelecimento. Pagamentos com Token iniciados pelo estabelecimento.
CIT = transações subsequentes iniciadas pelo titular do cartão. Pagamentos com Token iniciados pelo cliente. Ao ativar os pagamentos, especifique se precisa de MIT ou CIT para que o modo apropriado seja configurado.
Resultado da resposta:
-
Uma solicitação bem-sucedida retorna "status": true.
-
Se a chamada falhar, "status": false é retornado. Se você receber Invalid Token, recomendamos chamar novamente HPP Token para obter um novo Token.
A API retorna o status do pagamento de forma síncrona. Recomendamos fortemente usar Order Query e Asynchronous Notifications para sincronizar e atualizar o status do pagamento e manter as informações corretas em tempo real. a) Se o status do pedido state for paid, o pagamento foi bem-sucedido; b) se o status do pedido state for authorized, a autorização foi bem-sucedida. Para capturar os fundos após a autorização bem-sucedida, chame a API de captura de autorização.
3DS low-value exemption:
Transações dentro dos limites a seguir podem se qualificar como transações de baixo valor. Se o valor do pedido for menor ou igual ao limite aplicável abaixo, o código 02 (isenção para baixo valor) poderá ser usado mediante aprovação.
| # | Currency | Amount |
|---|---|---|
| 1 | EUR | 30 |
| 2 | DKK | 225 |
| 3 | GBP | 27 |
| 4 | SEK | 310 |
| 5 | ISK | 5000 |
| 6 | NOK | 325 |
| 7 | CHF | 32 |
| 8 | PLN | 135 |
| 9 | USD | 36 |
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 |
| false | -4119 | Invalid Token |
| false | -4120 | No operational permissions |
