Endpoint
Método: POST
Endpoint: /api/v2/sellers/{sellerId}/orders/credit-card/three-d-secure/authorize
Descrição
Este endpoint permite autorizar transações com cartão de crédito utilizando o protocolo 3DS 2.0, garantindo maior segurança durante o processo de pagamento.
Path Parameters
Parâmetro | Descrição | Tipo | Obrigatório |
---|---|---|---|
sellerId | Identificador único do vendedor. Representa o vendedor que está criando a transação. | string | Sim |
Request Body
{
"mode":"DEBIT",
"notificationUrl":"http://google.com",
"installments":3,
"orderReference":"ORDER_001",
"value":1035,
"customer":{
"birthdate":"1992-02-29",
"document":"86548443292",
"name":"John Snow"
},
"card":{
"cvv":"123",
"holder":{
"document":"86548443292",
"name":"John Snow"
},
"expiration":{
"month":"01",
"year":"2028"
},
"brand":"VISA",
"cardNumber":"4918019199883839"
},
"threeDSecure":{
"ipAddress":"10.0.0.1",
"onFailure":"CONTINUE",
"successUrl":"https://meusite.com",
"userAgent":"Mozilla",
"device":{
"screenWidth":500,
"javaEnabled":true,
"deviceFingerprint":"",
"screenHeight":500,
"timeZoneOffset":3,
"deviceType3ds":"BROWSER",
"javascriptEnabled":true,
"language":"BR",
"colorDepth":1
},
"embedded":true,
"failureUrl":"https://meusite.com",
"billing":{
"address":{
"zipCode":"88137084",
"lineTwo":"Sala 101",
"streetNumber":"38",
"city":"Palhoça",
"street":"Rua Jair Hamms",
"neighborhood":"Pedra Branca",
"state":"SC"
},
"phone":{
"country":"BRAZIL",
"number":"988957195",
"areaCode":"11"
},
"email":"[email protected]"
}
}
}
Cartões para teste
Utilize os cartões abaixo para simular cenários de testes.
Cartão | Cenário | Modalidade |
---|---|---|
4918019199883839 | Transação com desafio (Challenge). | DEBIT |
4918019160034602 | Transação sem desafio (Frictionless). | DEBIT |
Atenção
No ambiente de Sandbox (homologação) utilize somente a o valor
DEBIT
no atributomode
.
Campos do JSON - Transações 3DS 2.0
Campo | Descrição | Tipo | Obrigatório | Exemplo |
---|---|---|---|---|
customer | Dados do cliente. | object | Sim | |
customer.name | Nome do cliente. | string | Sim | "Tony Stark" |
customer.document | CPF/CNPJ do cliente. | string | Sim | "51190844001" |
customer.birthdate | Data de nascimento do cliente no formato YYYY-MM-DD . | date | Não | "2000-01-01" |
customer.phone | Telefone do cliente. | object | Não | |
customer.phone.countryCode | Código do país. | integer | Sim | 55 |
customer.phone.areaCode | Código de área do telefone. | integer | Sim | 11 |
customer.phone.number | Número de telefone. | integer | Sim | 999991234 |
customer.email | Email do cliente. | string | Não | "[email protected]" |
customer.address | Endereço do cliente. | object | Não | |
customer.address.street | Logradouro do endereço. | string | Sim | "Rua Jair Hamms" |
customer.address.streetNumber | Número do endereço. | string | Sim | "38" |
customer.address.lineTwo | Complemento do endereço. | string | Não | "Sala 101" |
customer.address.neighborhood | Bairro do endereço. | string | Sim | "Pedra Branca" |
customer.address.city | Cidade do endereço. | string | Sim | "Palhoça" |
customer.address.state | Estado do endereço (formato ISO 3166-2). | string | Sim | "SC" |
customer.address.zipCode | Código postal (CEP). | string | Sim | "88137084" |
card | Dados do cartão de crédito. | object | Sim | |
card.cardNumber | Número do cartão de crédito. | string | Sim | "5448280000000007" |
card.cvv | Código de segurança do cartão. | string | Não | "123" |
card.holder | Dados do titular do cartão. | object | Sim | |
card.holder.name | Nome do titular do cartão. | string | Sim | "Tony Stark" |
card.holder.document | CPF/CNPJ do titular do cartão. | string | Não | "51190844001" |
card.expiration | Validade do cartão. | object | Sim | |
card.expiration.month | Mês de validade do cartão no formato MM . | integer | Sim | 1 |
card.expiration.year | Ano de validade do cartão no formato YYYY . | integer | Sim | 2035 |
value | Valor da cobrança em centavos. | integer | Sim | 1000 |
installments | Número de parcelas. | integer | Sim | 1 |
orderReference | Referência externa única para o pedido. | string | Não | "Order-123456A" |
notificationUrl | URL que receberá notificações do pedido. | string | Sim | "https://meusite.com.br" |
threeDSecure | Dados relacionados ao protocolo 3DS Secure. | object | Sim | |
threeDSecure.device | Informações do dispositivo do cliente. | object | Sim | |
threeDSecure.device.colorDepth | Profundidade de cor da tela do dispositivo. | integer | Sim | 1 |
threeDSecure.device.deviceType3ds | Tipo de dispositivo para autenticação 3DS. | string | Sim | "BROWSER" |
threeDSecure.device.javaEnabled | Se o navegador do cliente suporta Java. | boolean | Sim | true |
threeDSecure.device.javascriptEnabled | Se o navegador do cliente suporta JavaScript. | boolean | Sim | true |
threeDSecure.device.language | Idioma do navegador do cliente. | string | Sim | "BR" |
threeDSecure.device.screenHeight | Altura da tela do dispositivo. | integer | Sim | 500 |
threeDSecure.device.screenWidth | Largura da tela do dispositivo. | integer | Sim | 500 |
threeDSecure.device.timeZoneOffset | Diferença de horas em relação ao UTC. | integer | Sim | 3 |
threeDSecure.ipAddress | Endereço IPv4 do cliente. | string | Sim | "10.0.0.1" |
threeDSecure.onFailure | O que fazer em caso de falha no protocolo 3DS. | string | Sim | "CONTINUE" |
threeDSecure.billing | Informações de cobrança relacionadas ao cliente. | object | Sim | |
threeDSecure.billing.address | Endereço de cobrança do cliente. | object | Sim | |
threeDSecure.billing.phone | Telefone de cobrança do cliente. | object | Sim | |
threeDSecure.billing.email | Email de cobrança do cliente. | string | Sim | "[email protected]" |
threeDSecure.successUrl | URL de sucesso após autenticação 3DS. | string | Sim | "https://meusite.com" |
threeDSecure.failureUrl | URL de falha após autenticação 3DS. | string | Sim | "https://meusite.com" |
threeDSecure.userAgent | Agente ou navegador do cliente. | string | Sim | "Mozilla" |
mode | Modo de transação (DEBIT ou CREDIT). | string | Sim | "DEBIT" |
Response
Http Status
Http Status | Descrição |
---|---|
✅ 201 | O recurso da cobrança foi criado. |
❌ 401 | Não autorizado. Verifique o token da integração. |
❌ 400 | O request enviado está inválido |
❌ 422 | Não foi possível processar a requisição. |
Response Header
Metódo | Exemplo | |
---|---|---|
Location | GET | https://api-sandbox.bempaggo.io/api/v2/charges/11882 |
Links | GET | https://api-sandbox.bempaggo.io/api/v2/three-d-secure/companies/1/challenge/23; rel="challenge" |