Quando usar o checkout
Use o checkout para cobrar um pedido uma vez. Cada checkout aceita um pagamento. Para outros jeitos de cobrar, cada tipo tem a sua rota:
O tipo de cobrança é definido pela rota. O campo
frequency aparece só na resposta e mostra o tipo: ONE_TIME no checkout, MULTIPLE_PAYMENTS no link de pagamento e SUBSCRIPTION na assinatura.
Como funciona o checkout
Aurl tem o formato https://app.abacatepay.com/pay/bill_.... Você pode mandar o link pelo WhatsApp ou por e-mail, ou redirecionar o cliente do seu site.
Regras
- Um pagamento por checkout. Depois de pago, o checkout não aceita outro pagamento. Para receber várias vezes pelo mesmo link, use um link de pagamento.
- Valor mínimo. O total é a soma de preço × quantidade dos itens e precisa ser de pelo menos R 3,00.
- Itens. Em
items[].id, use oiddo produto (prod_...) ou oexternalIddele.quantityé opcional e vale 1 se você não mandar. Se o mesmo produto vier duas vezes, vale só o primeiro item. - Formas de pagamento.
methodsaceitaPIX,CARD,BOLETO,APPLE_PAYeGOOGLE_PAY. Semmethods, o checkout oferece Pix e cartão. Em produção, só valem as formas liberadas na sua conta: as outras dão erro, comoBOLETO is not available for this store. - Cupons. O checkout só aceita os cupons listados em
coupons, com até 50 códigos. Sem a lista, a página não mostra o campo de cupom. Veja Cupons de desconto. - Idempotência por
externalId. Se a loja já tem um checkout com o mesmoexternalId, e ele não foi excluído, a API devolve esse checkout e ignora os dados novos. Use o id do pedido no seu sistema para não criar duas cobranças do mesmo pedido. - Sem prazo de validade. O checkout fica
PENDINGaté ser pago. O que vence são o Pix e o boleto gerados dentro dele. Se vencerem, o cliente abre o link de novo e gera outro. - Cliente cadastrado. Com o
customerIdde um cliente que tem nome, e-mail e CPF/CNPJ, o checkout cobra esse cliente e não pede os dados pessoais. - Exclusão. Um checkout pendente pode ser excluído com
POST /checkouts/delete, e o link para de abrir. Checkout pago não pode ser excluído.
Status do checkout
O link de pagamento tem status próprios,
ACTIVE e CANCELLED. Veja Link de pagamento.
O campo paidAmount começa null e é preenchido no pagamento, com o valor pago. Se o cliente aceitar um upsell, o valor dele é somado.
Pular as etapas de dados do cliente
Antes do pagamento, o checkout pede os dados pessoais (nome, e-mail, CPF/CNPJ e celular) e, quando aceita cartão, o endereço. Para tirar essas etapas, acrescente uma ou as duas flags àurl do checkout:
true ou 1, são independentes e valem no checkout e no link de pagamento. A etapa some de vez: não aparece no topo da página e o cliente não volta para ela.
As flags não valem em checkout de assinatura, porque a cobrança recorrente precisa dos dados e do endereço do cliente. Também não valem em contas em que o cartão ainda passa pelo processador antigo, que exige os dados do titular. Com
skip_customer, o checkout não mostra a oferta de upsell e o cliente não recebe o e-mail de confirmação da compra.
Para onde o cliente vai depois
completionUrl e returnUrl precisam usar http ou https.
O vídeo do comprovante também está em Comprovante.
Formas de pagamento no checkout
- Pix: QR Code e copia e cola na própria página. Veja Pix.
- Cartão de crédito: à vista ou parcelado com
card.maxInstallments. Veja Cartão de crédito e Parcelamento no cartão. - Repasse de taxa: com
card.passFeesToCustomer: true, o cliente paga a taxa do cartão. Veja Repasse de taxa. - Boleto:
dueDate,interestefineexigemBOLETOemmethods. Veja Boleto e Juros e multa no boleto. - Apple Pay e Google Pay: só no checkout, nunca no link de pagamento ou na assinatura. Veja Apple Pay e Google Pay.
Como personalizar o checkout
Em Sua Loja → Personalizar checkout, você muda a aparência de todos os checkouts da loja, inclusive dos links de pagamento:
A prévia mostra o resultado na hora. Clique em Salvar para aplicar. A personalização do Modo Teste é separada da de produção: configure as duas.
Como criar um checkout pelo dashboard
1
Abra as cobranças
No menu, vá em Sua Loja → Cobranças e clique em Criar cobrança.
2
Preencha o checkout
- Cliente (opcional): um cliente cadastrado. Com o cadastro completo, ele não preenche os dados na página.
- Produtos: os produtos avulsos da loja. Produto com ciclo vai em Assinaturas.
- Métodos de pagamento: Pix, cartão, boleto, Apple Pay e Google Pay, conforme o que a sua conta tem liberado.
- Parcelas no cartão e Repassar a taxa do cartão ao cliente: aparecem quando a sua conta tem esses recursos.
- Cupons (opcional), URL de finalização (opcional) e URL de retorno (opcional).
3
Mande o link
O checkout aparece na aba Checkout Abacate. No menu da linha, Ir para checkout abre a página de pagamento. Mande esse endereço ao cliente.
Como criar um checkout pela API
1
Crie uma chave de API
Em Integração → API, crie uma chave com a permissão
CHECKOUT:CREATE. Veja Chaves de API.2
Crie o checkout
items é obrigatório. A resposta traz o checkout. Este trecho mostra os principais campos, e todos estão em Criar um checkout:3
Mande o cliente para a url
Redirecione o cliente para
data.url ou mande o link. Os valores da API são sempre em centavos: 10000 = R$ 100,00.4
Confirme o pagamento
Libere o pedido quando chegar o webhook
checkout.completed. Para conferir o status a qualquer momento, use Buscar um checkout.Notificações
Os exemplos de cada evento estão em Eventos de checkout. Para cadastrar o endereço que recebe os eventos, veja Webhooks.
Testar no Modo Teste
Crie o checkout com o Modo Teste ligado ou com uma chaveabc_dev_. Na página, o botão final vira Simular Pagamento. Em Sua Loja → Cobranças, o menu da linha também tem Simular pagamento. No cartão, use os cartões de teste.
Perguntas frequentes
O checkout tem prazo de validade?
O checkout tem prazo de validade?
Não. Ele fica
PENDING até ser pago. O Pix e o boleto gerados dentro dele vencem, mas o cliente pode abrir o link de novo e gerar outro.O cliente pode pagar duas vezes o mesmo checkout?
O cliente pode pagar duas vezes o mesmo checkout?
Não. Depois do pagamento, o checkout não aceita outro. Para um link que vários clientes pagam, use um link de pagamento.
Mandei o mesmo externalId duas vezes. O que acontece?
Mandei o mesmo externalId duas vezes. O que acontece?
A API devolve o checkout que já existe, com os dados da primeira chamada. Os itens e campos da segunda chamada são ignorados.
Consigo colocar a minha marca na tela de pagamento?
Consigo colocar a minha marca na tela de pagamento?
Sim. Em Sua Loja → Personalizar checkout, mude a logo, as cores, os cantos e o tema. Vale para todos os checkouts e links de pagamento da loja.
Dá para o cliente ir direto para o pagamento, sem preencher dados?
Dá para o cliente ir direto para o pagamento, sem preencher dados?
Sim. Crie o checkout com o
customerId de um cliente com cadastro completo, ou acrescente ?skip_customer=true ao link. Veja como cada forma de pagamento se comporta.O que acontece se o cliente não pagar?
O que acontece se o cliente não pagar?
O checkout continua
PENDING e o link continua funcionando. Você pode reenviar o link ou excluir o checkout.Posso excluir um checkout pago?
Posso excluir um checkout pago?
Não. Para devolver o dinheiro ao cliente, faça um reembolso.