Criar cobrança
Gera uma cobrança Pix e devolve o copia e cola para o pagador.
/v1/chargesescopo: charge:writeExige o header Idempotency-Key. Repetir a chamada com a mesma chave devolve a cobrança já criada.
Corpo
amountinteiro (centavos)obrigatório | Mínimo e máximo por cobrança são definidos pelo administrador da plataforma (padrão: a partir de R$ 1,00, sem teto). |
methodstringopcional | Apenas "pix" na v1. Padrão "pix". |
customer.namestringobrigatório | Nome do pagador. |
customer.emailstringobrigatório | E-mail válido do pagador. |
customer.documentstringobrigatório | CPF ou CNPJ, com ou sem máscara. O adquirente exige. |
customer.phonestringopcional | Telefone do pagador. |
descriptionstringopcional | Até 140 caracteres. Aparece na sua listagem de cobranças. |
referencestringopcional | Seu identificador. Volta em todas as respostas e eventos desta cobrança. |
expires_ininteiro (segundos)opcional | De 60 a 604800 (7 dias). Sem isso, vale o padrão da conta. |
webhook_urlstringopcional | Recebe todos os eventos desta cobrança, sem cadastro prévio. É a forma recomendada de ser avisado do pagamento. Precisa ser http(s) e pública. |
webhook_secretstringopcional | Assina as entregas feitas a webhook_url (header X-Webhook-Signature). |
Exemplo
curl -X POST https://api.transakto.io/v1/charges \
-H "x-api-key: sk_live_..." \
-H "Idempotency-Key: pedido-1042" \
-H "Content-Type: application/json" \
-d '{
"amount": 4990,
"method": "pix",
"description": "Assinatura mensal",
"reference": "pedido-1042",
"expires_in": 3600,
"customer": {
"name": "Maria Souza",
"email": "maria@exemplo.com.br",
"document": "123.456.789-09"
},
"webhook_url": "https://meusistema.com.br/hooks/pagamentos",
"webhook_secret": "um-segredo-bem-longo"
}'{
"id": "8f1c2a90-1f4b-4f0e-9d33-5a2c1b7e9a10",
"object": "charge",
"status": "pending",
"amount": 4990,
"currency": "BRL",
"method": "pix",
"description": "Assinatura mensal",
"reference": "pedido-1042",
"customer": {
"name": "Maria Souza",
"email": "maria@exemplo.com.br",
"document": "12345678909"
},
"pix": {
"br_code": "00020126580014BR.GOV.BCB.PIX...",
"end_to_end_id": null
},
"receiver": {
"name": "Loja Exemplo LTDA",
"document": "12345678000199",
"pix_key": "financeiro@exemplo.com.br",
"pix_key_type": "EMAIL",
"institution_name": "Banco Exemplo",
"institution_ispb": "00000000",
"branch": "0001",
"account": "1234567",
"account_type": "CACC"
},
"webhook_url": "https://meusistema.com.br/hooks/pagamentos",
"expires_at": "2026-07-28T15:00:00.000Z",
"paid_at": null,
"created_at": "2026-07-28T14:00:00.000Z"
}Mostrando o Pix ao pagador
pix.br_code é o payload EMV. Exiba como texto para copiar e como QR Code gerado a partir dessa mesma string. Não há URL de imagem: o QR é derivado do código, e gerá-lo no seu lado evita depender de outra chamada de rede na hora do checkout.
Erros comuns
INVALID_DOCUMENT quando o CPF ou CNPJ não passa na validação de dígito. METHOD_NOT_SUPPORTED para boleto ou cartão. METHOD_DISABLED quando o método foi desligado pela plataforma. AMOUNT_BELOW_MINIMUM e AMOUNT_ABOVE_MAXIMUM quando o valor sai dos limites configurados: a mensagem traz o limite em centavos e em reais. ACQUIRER_REJECTED quando o adquirente recusa: a mensagem repassa o motivo que ele devolveu.
A cobrança é gravada antes de ir ao adquirente. Por isso, mesmo recusada, ela existe: o corpo do 422 traz o charge_id, e consultar esse id devolve a cobrança com status failed e o motivo em failure_reason. Repetir o pedido com a mesma Idempotency-Key devolve essa mesma cobrança falha. Para tentar de novo, use uma chave nova.