API REFERENCE
Obter Token (integração direta)
Parâmetros
| Parameter | Type | Descrição | Obrigatório |
|---|---|---|---|
| data.pay_method | string | online | ✓ |
| data.sub_pay_method | string | Card | ✓ |
| data.operation | string | 10.Create Token only; 11.Token for sales; 12.Token for authorisation | ✓ |
| data.order_id | integer | 商户的订单ID | ✓ |
| data.cardinfo | string | 卡信息 | — |
| data.amount | string | 金额数字。例如 € 24.99 应该写成24.99。如果operation为10,请设置amount=0 | ✓ |
| data.currency | string | 货币代码,ISO 4217,例如EUR,CHF | ✓ |
| data.description | string | 订单描述 | ✓ |
| data.email | string | 持卡人email | ✓ |
| data.demo | string | 自定义字段 | — |
| data.timeout | string | 过期时间单位分钟(0-1440) | ✓ |
| data.redirect_url | string | 支付完成后跳转地址 | — |
| data.notify_url | string | 支付完成后异步通知地址 | ✓ |
| data.request_id | string | 请求id需保持唯一,建议24以上位数字+字母 | ✓ |
| data.3ds_initiate | string | 3ds设置。 01. 必须开启3ds验证; | ✓ |
| data.sca_exemption | string | SCA 豁免类型;样例中的该字段受 3DS 模式约束。 | ✓ |
Aplica-se a estabelecimentos e instituições certificados pelo PCI DSS
Use esta API para concluir um pagamento de ponta a ponta (a verificação 3DS é obrigatória). A YabandPay converte os dados confidenciais do titular do cartão em uma cadeia 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. Depois que o usuário conclui a verificação 3DS nesse url, 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 for bem-sucedida, a YabandPay processará o pagamento. Se falhar, a YabandPay retornará um erro. Nesse caso, recomendamos repetir este fluxo 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 | Card | Obrigatório |
| operation | String | 10.Create Token only; 11.Token for sales; 12.Token for authorisation | Obrigatório |
| order_id | String | ID do pedido do estabelecimento | Obrigatório |
| 3ds_initiate | String | 3ds settings. 01. 3ds verification must be enabled; | Obrigatório |
| cardinfo | String | Informações do cartão | Trate o valor de cardinfo como uma cadeia (não é necessário incluir os campos dentro de cardinfo na ordenação) |
| 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 numérico. Por exemplo, € 24.99 must be written as 24.99. If operation is 10, set amount=0 | 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 |
| string | E-mail do titular do cartão | Obrigatório | |
| demo | String | Campo personalizado | Opcional |
| 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","email":"JohnSmith@gmail.com","card_number":"4356789012345670","expiration_month":"01","expiration_year":"2023","cvc":"123"}¤cy=EUR&description=test&method=v3.CreateCardPayments¬ify_url=https://www.yabandpay.com/notify&operation=11&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"
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": 1756878556,
"data": {
"description": "test",
"3ds_initiate": "01",
"timeout": "0",
"pay_method": "online",
"sub_pay_method": "Card",
"operation": "11",
"order_id": 1756878556,
"cardinfo": "{\"card_holder\":\"John Smith\",\"card_number\":\"4356789012345670\",\"expiration_month\":\"01\",\"expiration_year\":\"2023\",\"cvc\":\"123\"}",
"sca_exemption": "LowValue",
"amount": "0.1",
"currency": "EUR",
"email": "JohnSmith@gmail.com",
"redirect_url": "https://www.yabandpay.com/redirect_url",
"notify_url": "https://www.yabandpay.com/notify",
"request_id": "a7z1lox4l6z6mdx1udgn5gtezasze1x0"
}
}
Exemplo de resposta:
{
"status": true,
"code": "200",
"data": {
"order_id": "YOUR_ORDER_ID",
"trade_id": "2b2aa1af-6e97-4c01-8c52-86200bf66c82",
"amount": "0.1",
"currency": "EUR",
"url": "https://pay.yabandpay.com/pay_method/Y3JlZGl0Y2FyZA==/MmIyYWExYWYtNmU5Ny00YzAxLThjNTItODYyMDBiZjY2Yzgy",
"state": "processing"
},
"message": "",
"response_id": "202409091749500451314672"
}
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.
Payment result:
-
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 inserir os dados do cartão e concluir o pagamento nesse url, o cliente será redirecionado para redirect_url. Recomendamos fortemente usar Query Order e Asynchronous Notifications para manter os status de pagamento corretos e atualizados.
Returned Token:
-
Depois que o cliente concede a autorização e o pagamento é aprovado, a YabandPay retorna payment_token_object por meio de uma notificação assíncrona.
-
Se o cliente não conceder a autorização ou não concluir o pagamento, a notificação assíncrona não retornará payment_token_object.
3DS low-value exemption:
As 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 de transação 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 | -4120 | No operational permissions |
