Skip to main content
POST
cURL

Visão geral

O método credit_card processa um pagamento por cartão de crédito sem autenticação 3DS. O front-end tokeniza o cartão e envia apenas o cardToken ao seu backend, que chama este endpoint.
Para transferir a responsabilidade de chargeback por fraude ao banco emissor (liability shift), use a Cobrança 3DS. Sem 3DS, o risco de chargeback fica com o produtor.

Autenticação

Todas as requisições exigem um token OAuth2 válido obtido em POST /public_api/token/.

Escopo

Cartão não exige conta Cakto Banking. O pré-requisito de conta Banking vale só para pix, pix_auto e boleto — veja Pré-requisitos de Pix.

Idempotência

O header X-Idempotency-Key é obrigatório e permite reenviar a mesma requisição com segurança sem gerar cobranças duplicadas. Janela de retenção: 24 horas.
O card.token tem validade de 15 minutos e uso único. Se a idempotência reutilizar uma chave existente, a resposta armazenada é devolvida sem reprocessar.

Rate limit

Corpo da requisição

Resumo dos campos

Detalhamento dos campos

enum<string>
required
Deve ser "credit_card" para pagamentos por cartão sem 3DS.
object
required
Dados do pagador.
array<object>
required
Itens da cobrança. Deve conter exatamente um item.
object
required
Token de cartão obtido via POST /public_api/card-tokens/.
integer
default:"1"
Número de parcelas, de 1 a 12. Aceito apenas com credit_card e threeDs.
string
required
Referência da sessão de profiling do antifraude (Nethone) gerada no front-end antes de iniciar o pagamento. Usada para correlacionar a análise de comportamento do usuário com a transação.
Este é o único campo de topo do payload em snake_case; todos os demais campos de topo são camelCase (campos aninhados, como metadata.utm_source, também usam snake_case). Enviar antifraudProfilingAttemptReference resulta em 400 com { "antifraudProfilingAttemptReference": "Campo não suportado pelo contrato público." }.

Resposta de sucesso

201 Created
string
Identificador único do pedido criado.
string
Código curto de referência do pedido.
string
Status do pagamento. Valores possíveis:
string
Confirmado como credit_card.
string
Valor final cobrado, em reais, como string decimal.
string
Identificador da transação no adquirente.
string
URL do checkout Cakto associado à cobrança.
string<date-time>
Timestamp ISO 8601.
object
Resumo do produto.
object
Resumo da oferta cobrada.

Exemplo de resposta

Cartão Aprovado

Respostas de erro

Exemplo de requisição

Boas práticas

  • Obtenha o cardToken imediatamente antes de chamar este endpoint. O token expira em 15 minutos e é de uso único.
  • Prefira a Cobrança 3DS sempre que possível. Ela reduz chargebacks via liability shift.
  • Não confunda declined com refused. declined é recusa financeira do banco. refused é falha técnica no adquirente.

Authorizations

Authorization
string
header
required

Token de autenticação do tipo Bearer {access_token}, onde {access_token} é o token obtido no fluxo de autenticação.

Headers

X-Idempotency-Key
string
required

Identificador único por cobrança. Reuso com payload idêntico devolve a mesma resposta (24h). Máximo de 255 caracteres; recomenda-se UUID v4.

Body

paymentMethod
enum<string>
required

Método de pagamento.

  • pix - pix
  • pix_auto - pix_auto
  • boleto - boleto
  • credit_card - credit_card
  • threeDs - threeDs
Available options:
pix,
pix_auto,
boleto,
credit_card,
threeDs
customer
object
required

Dados do pagador. CPF e CPNJ aceitos conforme contrato existente do checkout.

items
object[]
required

Deve conter exatamente um item.

address
object | null

Endereço do pagador. Obrigatório quando o produto exige envio físico.

affiliateShortId
string

short_id do afiliado responsável pela venda, usado para resolver o split interno. Deve estar com status active e cadastrado para o produto informado.

Maximum string length: 40
coupon
string

Código do cupom de desconto.

Maximum string length: 255
metadata
object

Optional UTM/tracking metadata associated with the payment.

dueDate
string<date>

Somente para boleto. Data de vencimento (YYYY-MM-DD). Deve ser futura e respeitar o ticketExpiration do produto.

pixExpiresIn
integer

Somente para pix e pix_auto. Expiração do código Pix em segundos. Mínimo 60. Deve respeitar o pixExpiresIn do produto.

Required range: x >= 60
card
object

Dados do cartão de crédito. Obrigatório quando paymentMethod é credit_card ou threeDs.

threeDSecure
object

Dados de autenticação 3DS. Opcional para credit_card; recomendado para threeDs.

installments
integer | null

Número de parcelas. Aplicável apenas para pagamentos com cartão de crédito.

Required range: 1 <= x <= 12
antifraud_profiling_attempt_reference
string

Referência de profiling do antifraude. Obrigatório para credit_card e threeDs; deve ser o mesmo attemptReference usado ao inicializar o profiler no navegador.

Response

Corpo da resposta status 201

Cobrança criada pelo endpoint público.

id
string

Identificador único do pedido criado.

refId
string | null

Código curto de referência do pedido.

status
string | null

Status inicial do pedido. Para Pix e Boleto, normalmente waiting_payment.

paymentMethod
enum<string>

Método de pagamento da cobrança, ecoando o valor enviado na requisição.

  • pix - pix
  • pix_auto - pix_auto
  • boleto - boleto
  • credit_card - credit_card
  • threeDs - threeDs
Available options:
pix,
pix_auto,
boleto,
credit_card,
threeDs
amount
string

Valor final cobrado, em reais, como string decimal.

baseAmount
string | null

Valor da oferta antes de descontos.

discount
string | null

Desconto aplicado.

fees
string | null

Taxas da transação.

externalId
string | null

Identificador da transação no provedor.

checkoutUrl
string | null

URL do checkout Cakto.

createdAt
string<date-time> | null

Data e hora de criação da cobrança.

product
object

Produto resolvido a partir da oferta enviada.

offer
object

Oferta cobrada. Campos vazios no checkout são preenchidos com a oferta validada.

pix
object

Presente apenas para pix e pix_auto.

boleto
object

Presente apenas para boleto.