Pular para o conteúdo
KrokoPay

Desenvolvedores

Uma requisição. Pix e cartão.

Crie uma cobrança com os meios que você aceita, mande o cliente para o checkout hospedado e confirme o pagamento com um webhook assinado. HTTP e JSON simples, com chaves de teste desde o primeiro dia.

Chaves de teste nunca movimentam dinheiro de verdade.

  • Proposta provisória de API
  • Nenhum SDK publicado

A API em resumo

URL base
https://api.krokopay.app/v1
Versão
2026-11-01
Autenticação
Authorization: Bearer kp_test_sk_…
Chave secreta de teste
kp_test_sk_4f9a2c7e1b8d4a6f9c3e5d7b
Chave publicável de teste
kp_test_pk_8b1d3f5a7c9e2b4d6f8a0c2e
Cabeçalho de idempotência
Idempotency-Key
Cabeçalho de assinatura
KrokoPay-Signature

Valores de teste fictícios. Suas chaves aparecem no painel depois do cadastro.

Uma integração

Pix e cartão no mesmo fluxo

Não existe uma integração separada para o Pix. O campo methods define o que o checkout oferece, e os mesmos eventos informam o resultado.

  1. Crie a cobrança

    POST /charges com o valor e methods: ["pix", "card"].

  2. Envie para o checkout

    Redirecione para o checkout_url. O cliente escolhe Pix ou cartão.

  3. Receba o evento

    charge.paid ou charge.failed chega assinado no seu endpoint.

  4. Entregue uma vez só

    Marque o pedido como pago pelo id da cobrança e ignore repetições.

POST /chargesbash
curl -X POST https://api.krokopay.app/v1/charges \  -H "Authorization: Bearer kp_test_sk_4f9a2c7e1b8d4a6f9c3e5d7b" \  -H "Idempotency-Key: order_1042" \  -H "Content-Type: application/json" \  -d '{    "amount": 49700,    "currency": "BRL",    "description": "Curso Identidade Visual do Zero",    "customer_id": "cus_8Hq2LmZr4TxN1a",    "methods": [      "pix",      "card"    ]  }'
As linhas destacadas são a única diferença entre uma cobrança Pix, cartão ou Pix e cartão. Proposta provisória de contrato de API — não é um endpoint em operação.

Experimente

Veja a requisição e a resposta

Troque de chamada e de linguagem. Todos os exemplos usam dados fictícios na própria página: nada é enviado.

curl -X POST https://api.krokopay.app/v1/charges \  -H "Authorization: Bearer kp_test_sk_4f9a2c7e1b8d4a6f9c3e5d7b" \  -H "Idempotency-Key: order_1042" \  -H "Content-Type: application/json" \  -d '{    "amount": 49700,    "currency": "BRL",    "description": "Curso Identidade Visual do Zero",    "customer_id": "cus_8Hq2LmZr4TxN1a",    "methods": [      "pix",      "card"    ]  }'
RespostaJSON
{  "id": "chg_9Qs5MbT2kXn8Vd",  "object": "charge",  "amount": 49700,  "currency": "BRL",  "status": "pending",  "method": null,  "card": null,  "description": "Curso Identidade Visual do Zero",  "customer_id": "cus_8Hq2LmZr4TxN1a",  "product_id": "prod_3Vb7QpK9sWd2Ee",  "price_id": "price_5Kd1NcR8vYq3Hm",  "link_id": null,  "subscription_id": null,  "refunded_amount": 0,  "failure_code": null,  "created_at": "2026-11-03T18:40:00.000Z",  "paid_at": null,  "expires_at": null,  "available_at": null,  "checkout_url": "https://krokopay.app/pay/chg_9Qs5MbT2kXn8Vd"}

Clique em “Enviar requisição de teste” para simular o pagamento do cliente e a chegada do evento charge.paid no seu endpoint.

  • Proposta provisória de contrato de API — não é um endpoint em operação.
  • Payloads resumidos para este exemplo.
  • Simulado no seu navegador. Nada é enviado pela rede.

Os blocos da integração

Feita para que repetir nunca cobre duas vezes

Quatro coisas com que você pode contar quando a rede, o cliente ou o seu próprio servidor falham.

Entregas de webhook

Acompanhe cada entrega chegar

O painel lista cada evento enviado ao seu endpoint, com status e payload, para você ver o que o seu servidor recebeu e quando.

  • Cada entrega mostra o tipo do evento, o status HTTP que o seu servidor respondeu e o payload.
  • As entregas com falha aparecem ao lado das bem-sucedidas.
  • Quantas vezes uma entrega com falha é reenviada ainda será anunciado.
Ver a demonstração do painel

Entregas de webhook

Endpointhttps://example.com/webhooks/krokopay

  • HTTP 200payout.paidpo_6Jm3XcV9qLs1NdTentativa 1Entregue14:00
  • HTTP 200charge.failedchg_7Lc3PvN8yHd2WsTentativa 1Entregue13:02
  • HTTP 200subscription.renewedsub_5Hn2RtK8wPz4BqTentativa 1Entregue12:00
  • HTTP 200charge.paidNova tentativachg_9Qs5MbT2kXn8VdTentativa 2Entregue11:24
  • HTTP 500charge.paidchg_9Qs5MbT2kXn8VdTentativa 1Falhou11:23
  • HTTP 200charge.createdchg_9Qs5MbT2kXn8VdTentativa 1Entregue11:21

Os prazos exibidos são valores de demonstração, não condições comerciais.

Onde estamos

O que já existe, e o que ainda não

Preferimos que você planeje com expectativas corretas.

Disponível para explorar

  • Uma proposta de contrato de API documentada: recursos, eventos e formato de erro.
  • Exemplos em cURL e fetch para todas as chamadas desta página.
  • Chaves e cartões de teste fictícios para entender os fluxos.

Ainda não disponível

  • SDKs ou pacotes: nenhum foi publicado. Use HTTP simples.
  • Um contrato estável: campos e códigos ainda podem mudar.
  • Tarifas finais, prazos de repasse e calendário de novas tentativas: a serem anunciados.
Ver o que é provisório na página de preços

Dúvidas de quem desenvolve

Respostas diretas, inclusive quando a resposta ainda não foi decidida.

Está construindo algo específico?

Ver preçosFale com a gente

Não. Nenhum SDK ou pacote foi publicado. A API é HTTPS e JSON simples, então cURL, fetch ou qualquer cliente HTTP funciona.

Ainda não. É uma proposta provisória de contrato. Nomes de recursos, campos e códigos de erro podem mudar antes da versão final, e a documentação vai registrar cada mudança.

Não. Uma única requisição de cobrança lista os meios que você aceita, o checkout hospedado mostra esses meios, e os mesmos eventos charge.paid e charge.failed informam o resultado.

Cada entrega é assinada com o segredo do seu endpoint no cabeçalho KrokoPay-Signature. Verifique a assinatura sobre o corpo bruto antes de usar o payload. O guia de webhooks descreve o formato proposto.

O calendário de reenvio ainda será anunciado. Faça o seu endpoint idempotente guardando o id do evento, assim repetições não causam problema, aconteçam quando acontecerem.

Criar conta e explorar com chaves de teste não custa nada. As tarifas do modo real serão anunciadas na página de preços.

Faça sua primeira cobrança de teste hoje

Crie sua conta, copie suas chaves de teste e siga o guia rápido. Nada do que você fizer no modo de teste cobra alguém.