Esta rota não requer autenticação. Antes de processar o pagamento, você deve criar uma fatura usando o endpoint
/payments/v2/create-credit-card-payment.ID da transação retornado no campo
invoice_id ao criar a fatura. Este é o invoice_id da cobrança criada.Número de parcelas (1 a 24).
Título da compra.
Descrição do pagamento.
Objeto payment
Dados do pagamento e cartão.
Se deve capturar o pagamento automaticamente.
Tipo de cobrança das taxas.
Objeto payment.card
Dados do cartão de crédito.
Nome impresso no cartão (exatamente como aparece).
Número do cartão (16 dígitos, sem espaços).
Data de validade do cartão (formato: MM/YYYY).
CVV do cartão (3 ou 4 dígitos).
Objeto buyer
Dados do comprador.
Nome completo do comprador.
CPF ou CNPJ do comprador (apenas números).
E-mail do comprador.
Telefone do comprador (com DDD, sem espaços).
Código do país (ex: “55” para Brasil).
Objeto buyer.address
Endereço completo do comprador.
País.
Estado (sigla de 2 letras).
Cidade.
Bairro.
Nome da rua.
Número do endereço.
CEP (apenas números).
Complemento do endereço.
Objeto additionalInfo
Informações adicionais do pagamento.
Endereço IP do cliente que está realizando a compra.
ID do pedido no seu sistema.
ID do cliente no seu sistema.
Response
Mensagem de confirmação do processamento.
ID da invoice/cobrança que foi paga. Este é o mesmo valor enviado como
externalId.ID da transação processada.
Status do pagamento. Valores possíveis:
PAID: Pagamento aprovado e processadoWAITING_TO_FILL: Pagamento esperando preenchimento de dadosDENIED: Pagamento recusadoCANCELED: Pagamento canceladoREFUNDED: Pagamento reembolsado
WAITING_TO_FILLNúmero de parcelas processadas.
Valor total do pagamento.
ID do pagamento gerado pelo gateway.
Fluxo Completo de Pagamento
1
Criar Fatura
Primeiro, crie uma fatura usando Você receberá o campo
POST /payments/v2/create-credit-card-payment com o valor e dados do cliente.invoice_id na resposta que será usado como externalId.2
Processar Pagamento
Use o
invoice_id recebido no passo anterior como valor do campo externalId para processar o pagamento com os dados do cartão neste endpoint.3
Receber Confirmação
Aguarde a resposta com o status do pagamento (
PAID, DECLINED, etc).4
Webhook (Opcional)
Configure webhooks para receber notificações automáticas sobre mudanças no status do pagamento.
Possíveis Motivos de Recusa
Os seguintes problemas podem causar recusa do pagamento:
- Cartão sem limite disponível: Saldo insuficiente para cobrir o valor total
- Cartão expirado: Data de validade já passou
- CVV incorreto: Código de segurança não confere
- Problemas com a operadora: Emissor do cartão indisponível ou com problemas
- Suspeita de fraude: Transação bloqueada por segurança
- Dados inválidos: Número do cartão incorreto ou dados inconsistentes
Observações Importantes
Segurança PCI-DSS
- Nunca armazene dados sensíveis do cartão (número completo, CVV)
- Use HTTPS em todas as requisições
- Não exponha dados do cartão em logs ou mensagens de erro
ExternalId / Invoice ID
O campoexternalId utilizado neste endpoint corresponde ao campo invoice_id retornado ao criar a fatura usando o endpoint /payments/v2/create-credit-card-payment.
Importante:
- Ao criar a fatura, armazene o valor do campo
invoice_idretornado - Use esse
invoice_idcomo valor do campoexternalIdao processar o pagamento - O mesmo
invoice_idserá retornado na resposta deste endpoint para confirmação
Validações
- Dados do Cartão: Valide número, validade e CVV no frontend antes de enviar
- CPF/CNPJ: Valide formato e dígitos verificadores
- CEP: Valide formato (8 dígitos)
- E-mail: Valide formato de e-mail válido
- Telefone: Inclua DDD e número válido
Parcelamento
- Parcelas Disponíveis: 1 a 24 parcelas
- Valor Mínimo: Consulte configuração específica da sua conta
- Taxas: Calculadas automaticamente baseadas na configuração
Códigos de Status HTTP
- 201: Pagamento processado com sucesso
- 400: Dados inválidos no payload
- 404: Invoice não encontrada (externalId inválido)
- 422: Cartão recusado ou sem saldo
- 500: Erro interno ao processar pagamento
Boas Práticas
- Validação Client-Side: Implemente validação básica dos dados do cartão antes de enviar
- Timeout: Configure timeouts adequados (recomendado: 30-60 segundos)
- Retry Logic: Implemente retry apenas para erros 500 (não para recusas 422)
- Logs: Registre tentativas de pagamento (sem dados sensíveis)
- Rate Limiting: Implemente limitação de tentativas para prevenir abuso
- IP do Cliente: Sempre envie o IP real do cliente em
customerIp