Criar cobrança via API
Gere uma cobrança PIX ou cartão programaticamente (ex.- Typebot, backend próprio).
Criar cobrança via API
O endpoint POST /api/v1/direct/payment cria uma cobrança de forma programática. É o que você usa para gerar um PIX dinâmico a partir de um bot (Typebot), um backend próprio ou um checkout externo.
Autenticação
Envie suas chaves nos headers (veja Autenticação):
lemontech-gateway-publickey: pk_sua_public_key
lemontech-gateway-secretkey: sk_sua_secret_key
Cobrança PIX
curl -X POST https://api.paglemon.com.br/api/v1/direct/payment \
-H "Content-Type: application/json" \
-H "lemontech-gateway-publickey: pk_sua_public_key" \
-H "lemontech-gateway-secretkey: sk_sua_secret_key" \
-H "Idempotency-Key: pedido-123" \
-d '{
"amount": 1990,
"currency": "BRL",
"paymentMethod": "pix",
"description": "Pedido #123",
"externalRef": "order_123",
"customer": {
"name": "Maria Silva",
"email": "[email protected]",
"phone": "11999998888",
"document": { "number": "12345678909", "type": "cpf" }
}
}'Resposta (201):
{
"data": {
"id": "pay_abc123",
"status": "PENDING",
"amount": 19.90,
"currency": "BRL",
"paymentMethod": "pix",
"qrCode": "00020126...5204000053039865802BR...6304ABCD",
"customer": { "id": "cus_1", "name": "Maria Silva", "email": "[email protected]" }
}
}amounté enviado em centavos (1990= R$ 19,90).qrCodeé o PIX copia-e-cola — mostre como texto e/ou gere o QR a partir dele.- O
Idempotency-Key(opcional) evita cobrança duplicada em reenvios: a mesma chave replica a resposta anterior.
Cobrança no cartão
Para cartão, envie paymentMethod: "credit_card" e o objeto card (prefira hash/tokenização a dados crus):
{
"amount": 1990,
"paymentMethod": "credit_card",
"installments": 1,
"customer": { "...": "..." },
"card": { "hash": "tok_gerado_no_client" }
}A resposta traz clientSecret (para finalizar via hosted-fields do gateway) e status: "PENDING".
Status do pagamento
| Status | Significado |
|---|---|
CREATED / PENDING | Aguardando pagamento |
FINISHED | Pago ✅ |
FAILED / CANCELLED | Falhou |
REFUNDED | Estornado |
RETAINED | Retido em análise |
Como sei que foi pago? O caminho recomendado é o Webhook: você recebe o evento
payment.approvedno instante da confirmação, sem precisar ficar perguntando. Se preferir um destino só para aquela cobrança, enviepostbackUrlno corpo dela.
Consultar o status por API
Quando precisar conferir o estado de uma cobrança — para reconciliar, ou porque seu servidor perdeu o webhook — use:
GET https://api.paglemon.com.br/api/v1/payments/{id}Onde {id} é o id devolvido na criação da cobrança.
Este endpoint é público: não envie Authorization, nem as chaves lemontech-gateway-publickey / lemontech-gateway-secretkey. Como ele não exige credencial, a resposta vem reduzida ao essencial — sem CPF, telefone, endereço do comprador ou valores de taxa:
{
"id": "123e4567-e89b-12d3-a456-426655440000",
"status": "FINISHED",
"method": "pix",
"amount": 61.90,
"currency": "BRL",
"createdAt": "2026-08-19T03:15:22.000Z",
"expiresAt": "2026-08-20T03:15:22.000Z",
"confirmedAt": "2026-08-19T03:16:04.000Z"
}status: "FINISHED" significa pago (veja a tabela acima), e confirmedAt traz o momento da confirmação.
Não use consulta no lugar do webhook. Conferir um pedido específico ou reconciliar o dia é o uso correto. Já ficar consultando todas as cobranças em intervalo curto (polling) gera carga à toa e ainda te avisa depois do que o webhook avisaria.
Não existeGET /api/v1/direct/payment/{id}. O/api/v1/direct/paymentaceita apenas POST, para criar a cobrança. Um GET nesse caminho responde 401, porque a checagem de chave de API roda antes de o roteador concluir que a rota não existe — o erro fala em credencial, mas o problema é o endereço. Para consultar, useGET /api/v1/payments/{id}acima.
Campos úteis do corpo
externalRef— seu identificador do pedido (volta nos eventos).postbackUrl— URL que recebe o evento deste pagamento (sobrepõe os webhooks da conta).metadata— dados livres (string ou objeto).items,shipping— detalhamento opcional do pedido.ip— IP do comprador. Como a chamada sai do seu servidor, sem este campo o único IP que temos é o da sua máquina: o antifraude do adquirente perde sinal e o mapa de vendas fica sem a localização da compra. Envie o IP que o navegador do comprador usou no seu checkout.
Updated 8 days ago

