Criação do Pagamento com 3DS

Criar a Order (Checkout) -

Objetivo:

Criar uma cobrança utilizando o 3DS2.

Obs: O que muda para o contrato atual é o envio do novo objeto chamado threeDSecure

Obs: O seller precisa estar com o merchant habilitado para 3DS.

Obs: É importante estar ciente que caso haja necessidade de desafio na transação, ou seja, caso ela retorne pendente, será necessário criar um fluxo assíncrono no checkout.

Ex:

1 - Enviou transação

2 - Retornou pendente

3 - Faz o desafio

4 - Caso desafio seja sucesso, precisa criar um pool de consultar na API de consulta de cobrança, para saber se foi pago. No geral a resposta será rápida após o desafio.

Sugestão: Criar um loading no checkout até a transação retornar PAID.(Considerando os timeouts)

REQUEST

curl --location '<https://sandbox-api.barte.com/v2/orders>' \\
--header 'X-Token-Api: fb67fa58-69dc-4f47-8f49-5444b0c33e0a' \\
--header 'x-idempotency-key: 6b90cf97-a426-49f3-b063-7e55a24afa3e' \\
--header 'Content-Type: application/json' \\
--data-raw '{
    "startDate": "2025-04-16",
    "value": 130,
    "installments": 3,
    "urlCallBack": "<https://brave-advertisement-84.webhook.cool>",
    "title": "Titulo - Lili oPihAk",
    "description": "Robson - Lili xn6avt",
    "payment": {
        "method": "CREDIT_CARD_EARLY_SELLER",
        "card": {
            "cardToken": "efde9a25-76f9-4d0a-bfbc-1abbdbd8bc07",
            "cvv": "950"
        },
        "fraudData": {
            "internationalDocument": {
                "documentNumber": "04909778128",
                "documentType": "cpf",
                "documentNation": "BR"
            },
            "name": "Lili - OgCCRq",
            "email": "strigus@mock.com",
            "phone": "5511999994444",
            "billingAddress": {
                "country": "BR",
                "state": "MG",
                "city": "Uberlandia",
                "district": "Patrimonio",
                "street": "Rua de test",
                "zipCode": "38411999",
                "number": "S/N",
                "complement": "apart 999"
            }
        }
    },
    "threeDSecure": {
        "dataOnly": false,
        "requiresLiabilityShift": false,
        "setupId": "e453da0b-b6a1-4c9a-8820-f2da23b3ffb7",
        "redirectURL": "<http://localhost:3000/checkout.html>",
        "requestorURL": "<http://localhost:3000>",
        "browser": {
            "ip": "127.0.0.1",
            "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
            "acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
            "language": "pt-BR",
            "colorDepth": 24,
            "screenHeight": 1080,
            "screenWidth": 1920,
            "timeZoneOffset": "-180",
            "javaEnabled": false,
            "javaScriptEnabled": true
        },
        "billingAddress": {
            "city": "Uberlandia",
            "country": "BR",
            "streetNumber": "0",
            "zipCode": "38411999",
            "state": "MG",
            "street": "Rua de test"
        },
        "shippingAddress": {
            "city": "Uberlandia",
            "country": "BR",
            "streetNumber": "0",
            "zipCode": "38411999",
            "state": "MG",
            "street": "Rua de test"
        },
        "cardHolder": {
            "email": "teste@teste.com",
            "mobilePhone": "24999329393"
        }

    },
    "uuidBuyer": "71d12215-267a-4620-9b17-0715c84d23bd"
}'

RESPONSE

{
    "uuid": "4668ab70-39c3-4ab3-8770-995f6333e200",
    "status": "SENT",
    "title": "Titulo - Lili oPihAk",
    "description": "Robson - Lili xn6avt",
    "value": 130,
    "installments": 3,
    "startDate": "2025-04-16",
    "payment": "CREDIT_CARD_EARLY_SELLER",
    "customer": {
        "document": "89259815053",
        "type": "CPF",
        "documentCountry": "BR",
        "name": "Antonio ",
        "email": "comprador@email.com",
        "phone": "11948256898",
        "alternativeEmail": "compradoralt@email.com",
        "integrationCustomerId": "91e89dc6-5226-47f3-a8b8-f8a2009c669e"
    },
    "idempotencyKey": "5e643a79-3b3f-4db9-95a3-a998caf914ff",
    "subSellerPaymentResponse": [
        {
            "subSellerPaymentResponse": [],
            "amountForSubSellers": 0
        }
    ],
    "charges": [
        {
            "uuid": "27dccdbb-73a9-4799-93c9-e30e2c71cc75",
            "title": "Titulo - Lili oPihAk",
            "expirationDate": "2025-04-16",
            "value": 130.00,
            "paymentMethod": "CREDIT_CARD_EARLY_SELLER",
            "status": "SCHEDULED",
            "customer": {
                "document": "89259815053",
                "type": "CPF",
                "name": "Antonio ",
                "email": "comprador@email.com",
                "phone": "11948256898",
                "alternativeEmail": "compradoralt@email.com"
            }
        }
    ],
    "threeDSResponse": {
        "dataOnly": false,
        "requiresLiabilityShift": false,
        "redirectURL": "<http://localhost:3000/checkout.html>",
        "browser": {
            "ip": "127.0.0.1",
            "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
            "acceptHeader": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
            "language": "pt-BR",
            "screenHeight": 1080,
            "screenWidth": 1920,
            "javaEnabled": false,
            "javaScriptEnabled": true
        },
        "auth": {
            "action": "REDIRECT",
            "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3YTk0ZjZmYy0wMTgwLTRiZTQtOTgzOS1kZTgyNjNmNGQxMWQiLCJpYXQiOjE3NDQ4MTQyMzYsImlzcyI6IjVkZDgzYmYwMGU0MjNkMTQ5OGRjYmFjYSIsImV4cCI6MTc0NDgxNzgzNiwiT3JnVW5pdElkIjoiNjU0NDUzNzkzZDJmNTM1NWE3YjljN2IxIiwiUGF5bG9hZCI6eyJBQ1NVcmwiOiJodHRwczovLzFtZXJjaGFudGFjc3N0YWcuY2FyZGluYWxjb21tZXJjZS5jb20vTWVyY2hhbnRBQ1NXZWIvY3JlcS5qc3AiLCJQYXlsb2FkIjoiZXlKdFpYTnpZV2RsVkhsd1pTSTZJa05TWlhFaUxDSnRaWE56WVdkbFZtVnljMmx2YmlJNklqSXVNaTR3SWl3aWRHaHlaV1ZFVTFObGNuWmxjbFJ5WVc1elNVUWlPaUkxTXpZNU16STFaUzFtT1dFMkxUUTRORGd0T1dObVl5MWtNMlk0WW1JNU56RTNPVGdpTENKaFkzTlVjbUZ1YzBsRUlqb2lOVEpqWmpWbE5ESXRZemcxTVMwME5EYzBMVGc0TmpFdFpEUTRNVFprTWpCa00yWXdJaXdpWTJoaGJHeGxibWRsVjJsdVpHOTNVMmw2WlNJNklqQXlJbjAiLCJUcmFuc2FjdGlvbklkIjoiMWJQeHozWmRLeDJrRVR5ZFIzNDEifSwiT2JqZWN0aWZ5UGF5bG9hZCI6dHJ1ZSwiUmV0dXJuVXJsIjoiaHR0cHM6Ly9hcGkubWFsZ2EuaW8vdjEvY2hhcmdlcy85NjYzNzFhYS00NDQwLTQxNmMtOWEwYS02N2Q0YWEzYzA3NTQvM2RzLWF1dGhvcml6YXRpb24_aGFzaD1vamR5NkRyNll3UzlZM3h4TU9aMmQyY2s2STdOTzMyS1pnM2FOXzRudVdNJmNsaWVudElkPTJhMDY4ZGE1LWUzM2UtNDI1Ni1iYjlkLTI3YjEzNjQ4MzhkOSJ9.L-Ok8s80UWwt0kLWGaMwPOsSBPFQQNkPZsXVKwzO0ks",
            "stepUrl": "<https://centinelapistag.cardinalcommerce.com/V2/Cruise/StepUp>"
        },
        "challenged": true,
        "authenticated": false,
        "offeredType": "Challenge",
        "liabilityShift": false
    }
}

⚠️ Campos importantes:

  • auth.dataOnly

  • auth.requiresLiabilityShift

  • authentication3DS.liabilityShift

  • authentication3DS.auth.stepUrl e authentication3DS.auth.token (para Step Up Challenge)

Atualizado

Isto foi útil?