Skip to main content
O portal do cliente, também chamado de área do cliente, é uma página pronta da AbacatePay onde o seu cliente resolve sozinho o que comprou: vê os pagamentos, pede reembolso, cancela a assinatura e troca o cartão. Você gera um link pela API e manda para ele. Você não precisa montar tela nenhuma. É uma chamada de API e um link.

Quando usar o portal do cliente

Use para tirar do seu suporte os pedidos mais comuns: cancelar a assinatura, trocar o cartão e pedir reembolso. Mande o link na sua área logada, num botão como “Gerenciar assinatura”, ou por e-mail. No portal, o reembolso é automático. Se você quer aprovar cada reembolso antes, não mande o portal e faça os reembolsos você mesmo. Veja Reembolsos.

O que o cliente pode fazer no portal

O reembolso pelo portal não passa por aprovação sua. Com o link, o cliente reembolsa sozinho qualquer pagamento confirmado por Pix ou cartão daquele checkout. Reembolsar uma cobrança de assinatura também cancela a assinatura na hora.

Como funciona o portal do cliente

  • Um link por cliente e checkout. O checkoutId pode ser de um checkout, de um link de pagamento ou de um checkout de assinatura. Chamar de novo com os mesmos IDs devolve o mesmo link, então você pode gerar na hora do clique, sem guardar a url.
  • Só depois do pagamento. O link só sai se o cliente pagou aquele checkout. Na assinatura, se a assinatura dele já existe.
  • Só aquela compra. O portal mostra o que aquele cliente pagou naquele checkout, nessa loja. Ele não vê outras compras nem outras lojas.
  • Entrada com código. O cliente digita o e-mail da compra e, se bater com o do cadastro, recebe um código de 6 dígitos, válido por 10 minutos. Cada link aceita até 5 pedidos de código por hora, contando os feitos com e-mail errado, e 5 tentativas erradas invalidam o código. Quem tem só o link, sem acesso ao e-mail, não entra.
  • Sessão de 1 hora. Depois disso, o cliente pede outro código.
  • O link não expira. E não há como desativá-lo: a proteção é o código enviado ao e-mail.

Cancelamento da assinatura pelo portal

O cliente escolhe um motivo (Preço muito alto, Não estou usando o suficiente, Encontrei uma alternativa melhor ou Outro motivo) e pode deixar um comentário. O cancelamento vale no fim do ciclo já pago. O webhook subscription.cancelled chega na hora do pedido, com status: "CANCELLED" e cancelPolicy: "NEXT_CYCLE", mas o cliente tem acesso até o fim do ciclo que já pagou. Não corte o acesso quando o evento chegar: corte no fim do ciclo, a data em currentPeriodEnd de Buscar assinatura. O motivo vem em cancelledDueTo. No dashboard e pela API, o cancelamento vale na hora, com cancelPolicy: "NOW". Veja Assinaturas.

Troca de cartão pelo portal

A troca aparece só em assinatura ativa paga com cartão, e só em contas com o cartão de crédito liberado. Cada link aceita até 5 tentativas de troca por hora.

Pelo dashboard

O portal do cliente só existe pela API: não há tela no dashboard para gerar o link.
1

Guarde o customerId e o checkoutId

O link é sempre de um cliente num checkout. Os dois IDs chegam no webhook do pagamento:Grave os dois junto do pedido ou da assinatura no seu banco.
2

Gere o link

Use uma chave com a permissão CHECKOUT:CREATE, SUBSCRIPTION:CREATE ou CUSTOMER:CREATE e chame Criar um link do portal:
A resposta traz o id do link (cpl_...) e a url, no formato https://portal.abacatepay.com/<token>.
3

Mande o cliente para o link

Redirecione, abra numa aba nova ou mande por e-mail. O cliente precisa ter e-mail no cadastro, porque o código de acesso vai para lá.

Notificações

O que o cliente faz no portal chega para você pelos mesmos webhooks de sempre, como se fosse feito pelo dashboard: Use esses eventos para liberar ou cortar o acesso no seu produto. Os exemplos estão em Eventos de checkout e Eventos de assinatura.

Testar no Modo Teste

Gere o link com uma chave do Modo Teste, para um checkout pago com Simular Pagamento. O código de acesso chega no e-mail do cliente, e a troca de cartão usa cartões simulados.

Perguntas frequentes

Sim. É a mesma página, que a AbacatePay chama de portal do cliente.
Não. O link mostra só o checkout que você passou, nessa loja.
O cliente ainda não pagou esse checkout. Gere o link depois do checkout.completed ou do subscription.completed.
Ela só aparece em assinatura ativa paga com cartão, em contas com o cartão de crédito liberado.
Não. Boleto não tem reembolso pelo portal. O reembolso vale para pagamentos confirmados por Pix ou cartão.