Skip to main content
POST
Requer a permissão TRANSPARENT:CREATE.
Cria uma cobrança de cartão de crédito no checkout transparente. O cartão é informado de um destes dois jeitos:
Primeira integração? Siga o passo a passo do checkout transparente. Esta página é a referência dos campos.

Corpo da requisição

string
required
Sempre "CARD".
object
required
Dados da cobrança. Envie token ou cardToken, nunca os dois. Campos fora desta lista (como description e externalId) são ignorados na cobrança de cartão.

Exemplos de requisição

Para testar no terminal, use um cardToken de Dev mode, como o dev_card_4242 da sua primeira compra de teste: o ctok_ vale só 60 segundos. Exemplos completos em Node.js e Python estão no guia do cartão salvo.

Resposta

object
A cobrança criada.
boolean
true quando a cobrança foi criada.
string | null
Mensagem de erro, ou null. Veja Erros.
No parcelado, a resposta traz os campos de parcela:

Status


Erros

Erros voltam com success: false e a mensagem em error. Os mais comuns:
  • Não foi possível processar o pagamento com este cartão (400): o cartão foi recusado. A mensagem é a mesma para qualquer motivo, de propósito. Peça outro cartão.
  • Invalid or expired card token (400): o ctok_ passou de 60 segundos, já foi usado, é de outra loja ou de outro ambiente. Gere outro com tokenize().
  • amount does not match the tokenized amount (400): o amount é diferente do usado no AbacatePay.create. O token foi gasto: gere outro.
  • Card token not found (400): o cardToken não existe nesta loja e neste ambiente.
  • Provide exactly one of token (ctok_) or cardToken (400): faltou o cartão, ou foram enviados os dois.
  • customer.taxId must be a valid CPF or CNPJ (400): CPF ou CNPJ inválido.
  • amount must be at least 2000 cents for 2 installments (400): parcela abaixo de R$ 10,00. O número muda conforme as parcelas.
  • CARD_TRANSPARENTS is not available for this store (400): sua conta ainda não tem cartão liberado. Fale com o suporte.
  • Card payments are temporarily unavailable. Please try again later. (400): pagamentos com cartão suspensos temporariamente. Tente mais tarde.
  • Unauthorized (401): faltou o header Authorization: Bearer <chave de API>.
  • Invalid or inactive API key (401): chave de API errada ou revogada.
  • Insufficient permissions (401): a chave de API não tem a permissão TRANSPARENT:CREATE.
  • Erro de validação (422): um campo está faltando ou no formato errado, e a mensagem diz qual. Por exemplo: Property 'data.customer.cellphone' is missing, Property 'data.customer.email' should be email, Expected property 'data.metadata.pedidoId' to be string but found: 123 (valor de metadata que não é texto) ou Property 'method' should be one of: 'PIX', 'BOLETO', 'CARD'.
Timeout ou erro de rede não é recusa. A cobrança pode ter sido aprovada mesmo sem resposta. Não repita na hora: com cardToken, repetir pode cobrar o cliente duas vezes. Consulte a listagem ou espere o webhook antes de tentar de novo.

Consultar, listar e reembolsar

  • Consultar uma cobrança: GET /v2/transparents/get?id=card_... devolve o mesmo formato da resposta acima. Permissão TRANSPARENT:READ.
  • Listar só as de cartão: GET /v2/transparents/list?method=CARD. Veja Listar.
  • Reembolsar: POST /v2/transparents/refund com { "id": "card_..." }. Veja Reembolsar.
  • Ser avisado da aprovação: webhook transparent.completed. Veja os eventos do checkout transparente.
A rota GET /v2/transparents/check é só para PIX. Para cartão, use GET /v2/transparents/get.