Cartão · Produtos
Pagamentos com cartão que explicam cada recusa
O checkout valida o cartão enquanto o comprador digita, mostra a bandeira e, quando um pagamento falha, diz ao comprador o que fazer em seguida. Você recebe o mesmo motivo como failure_code no webhook charge.failed.
Neste site tudo roda em modo de teste: use os cartões de teste abaixo, nenhum cartão real é cobrado.
- Validação enquanto digita
- Detecção da bandeira
- 5 códigos de falha documentados
Cartões de teste
Escolha um cartão para preencher o número. Qualquer validade futura e qualquer CVV funcionam.
O que o seu sistema vê
chg_7Lc3PvN8yHd2Ws{
"status": "pending",
"failure_code": null
}Dados fictícios. Nenhum pagamento real é feito.
Enquanto o comprador digita
Erros corrigidos antes do pagamento
A maioria dos erros de digitação nem chega a virar uma tentativa de pagamento. O checkout formata o número, detecta a bandeira e confere o tamanho e o dígito verificador enquanto o comprador digita.
- Grupos de quatro dígitos, formatados automaticamente.
- Bandeira detectada pelos primeiros dígitos.
- Tamanho e dígito verificador conferidos antes do envio.
- Tamanho do código de segurança de acordo com a bandeira.
Experimente: digite um número de cartão
- Bandeira
- Ainda não detectada
- Dígitos
- 0 de 16
- Dígito verificador
- Aguardando todos os dígitos
- Código de segurança
- 0 de 3 dígitos
O que você digita fica nesta aba do navegador, só na memória. Esta demonstração nunca armazena números de cartão.
Quando um pagamento falha
Toda recusa tem um motivo
Um pagamento com cartão recusado não é um beco sem saída. O comprador vê o que aconteceu e o que tentar em seguida. Você recebe o mesmo motivo como failure_code, e o suporte não precisa adivinhar.
O que o comprador vê
Seu cartão foi recusado. Tente outro cartão ou pague via Pix.
O que você recebe
failure_code: "card_declined"Cartão recusado
O emissor do cartão recusou o pagamento sem informar um motivo mais específico.
O que você pode fazer
Ofereça Pix ou outro cartão. Tentar o mesmo cartão logo em seguida costuma dar o mesmo resultado.
4000 0000 0000 0002{ "id": "evt_7Pp8Qq9Rr0Ss1T", "object": "event", "type": "charge.failed", "api_version": "2026-11-01", "created_at": "2026-11-03T16:02:24.000Z", "data": { "object": { "id": "chg_7Lc3PvN8yHd2Ws", "object": "charge", "amount": 49700, "currency": "BRL", "status": "failed", "method": "card", "card": { "brand": "visa", "last4": "0002" }, "failure_code": "card_declined" } }}Cartões de teste
Provoque cada resultado de propósito
Use estes números no checkout de demonstração. Qualquer data de validade futura e qualquer código de segurança funcionam.
Números fictícios que só funcionam no modo de teste.
Documentação do ambiente de teste| Número | Bandeira | Resultado |
|---|---|---|
4242 4242 4242 4242Aprovado | Visa | Aprovado |
4000 0000 0000 0002Cartão recusadocard_declined | Visa | Cartão recusadocard_declined |
4000 0000 0000 9995Saldo insuficienteinsufficient_funds | Visa | Saldo insuficienteinsufficient_funds |
4000 0000 0000 0069Cartão vencidoexpired_card | Visa | Cartão vencidoexpired_card |
4000 0000 0000 0127Código de segurança incorretoincorrect_cvc | Visa | Código de segurança incorretoincorrect_cvc |
Reembolsos
Reembolse tudo ou só uma parte
Reembolse uma cobrança paga com cartão pelo painel ou pela proposta de API. A cobrança mantém o histórico e informa o reembolso com um evento.
Reembolso total
ReembolsadoO valor inteiro é devolvido. O status da cobrança passa para refunded.
Reembolso parcial
Reembolso parcialParte do valor é devolvida. O status passa para partially_refunded e refunded_amount mostra quanto foi devolvido.
charge.refunded Cada reembolso gera charge.refunded.
curl -X POST https://api.krokopay.app/v1/charges/chg_4Fp9KzW1xQm7Rt/refunds \ -H "Authorization: Bearer kp_test_sk_4f9a2c7e1b8d4a6f9c3e5d7b" \ -H "Idempotency-Key: refund_1042" \ -H "Content-Type: application/json" \ -d '{ "amount": 9900 }'{ "id": "chg_4Fp9KzW1xQm7Rt", "object": "charge", "amount": 49700, "currency": "BRL", "status": "partially_refunded", "refunded_amount": 9900}Proposta provisória de contrato da API. São exemplos, não um endpoint em operação.
Sobre os dados do cartão
Esta demonstração nunca armazena números de cartão. Os termos de segurança de produção serão publicados.
Dúvidas sobre cartão, respondidas sem rodeios
Incluindo o que ainda não está definido.
Ainda não definido
- TarifasA definir
- Prazo para o dinheiro ficar disponívelA definir
- Quando o reembolso chega ao compradorA definir
Aparece como “A definir” até as condições serem finais.
Ver preçosTeste cada resultado do cartão antes de entrar no ar
Crie uma conta, abra um checkout no painel de demonstração e experimente os cartões de teste.
Nenhum cartão real é cobrado.
