Área do cliente

Seu cliente resolve sozinho, sem abrir ticket

Um link por compra, gerado pela API: o cliente entra com um código no e-mail, vê os pagamentos, abre o recibo, troca o cartão, cancela a assinatura e pede reembolso. O reembolso só sai quando você aprova.

  • Entrada com código no e-mail
  • Recibo de cada pagamento
  • Troca de cartão e cancelamento
  • Reembolso com a sua aprovação

Mande o link por onde você já fala com o cliente.

  • WhatsApp
  • Gmail
  • Instagram
  • Messenger
  • Telegram
  • Discord
  • Intercom
  • Zendesk
  • HubSpot
  • Chatwoot
  • Help Scout
  • Notion
  • Mailchimp
  • Brevo
  • Resend
  • n8n
  • Zapier

O que o seu cliente resolve sem falar com ninguém

As perguntas que mais lotam o suporte de quem vende online, respondidas numa página só, no celular do cliente.

O que o cliente faz

Você no controle

Reembolso só sai com a sua aprovação

O cliente pede, você decide. A área do cliente organiza o pedido com motivo e anexos, e o dinheiro só volta quando você aprova no painel.

  • Pedido só até 7 dias depois do pagamento, um por pagamento
  • Histórico do comprador em todas as lojas da AbacatePay
  • Resposta por e-mail pro cliente, aprovando ou negando
  • Cancelamentos e reembolsos chegam no seu webhook
  1. Dia 0O cliente pedeEscolhe o motivo, conta o que aconteceu e anexa até 3 arquivos.
  2. Na horaVocê fica sabendoChega um e-mail e o pedido aparece no painel, com o histórico do comprador.
  3. Até o dia 5Você decideAprovou, o valor volta pelo mesmo meio. Negou, o cliente recebe a sua resposta.
  4. Depois do dia 5A AbacatePay assumeSem resposta, o nosso time decide. “Não reconheço a cobrança” já começa com a gente.

Menos ticket no suporte, mais controle pra você

O cliente resolve o simples sozinho, e o que mexe com dinheiro passa por você, com aviso em cada passo.

Você fica sabendo de tudo

Pedido de reembolso chega por e-mail e no painel. Cancelamento e reembolso aprovado chegam no seu webhook.

Entrada sem senha

O cliente digita o e-mail da compra e entra com um código de 6 dígitos. Sem o e-mail, ninguém entra.

Só o que ele comprou

Cada link abre uma compra de um cliente. Ele não vê outras compras nem outras lojas.

Assinatura em dia

Cartão vencido? O cliente troca sozinho, e a cobrança em atraso passa no cartão novo na hora.

Modo de teste

Gere links com a chave de teste e veja a área do cliente antes de mandar pros clientes.

R$ 0pela área do cliente
Sem mensalidade

Vem com a conta: você paga só as taxas das vendas, como sempre.

Pela API

Um link por compra, em uma chamada

Cada link abre uma compra de um cliente: ele não vê outras compras nem outras lojas. Gere na hora da venda ou só quando ele pedir ajuda.

  1. O cliente compraNum checkout, num link de pagamento ou numa assinatura da AbacatePay.
  2. Você gera o linkPOST /v2/customer-portal/create com o customerId e o checkoutId. Chamar de novo devolve o mesmo link.
  3. Manda pro clienteNo e-mail da compra, no botão “Minha assinatura” do seu app ou no WhatsApp. O link não expira.
  4. Ele entra com o códigoDigita o e-mail da compra e recebe um código de 6 dígitos, válido por 10 minutos.
Linguagem do exemplo
terminal
curl -X POST https://api.abacatepay.com/v2/customer-portal/create \
  -H "Authorization: Bearer $ABACATEPAY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "cust_abc123xyz",
    "checkoutId": "bill_abc123xyz"
  }'
portal.mjs
const res = await fetch("https://api.abacatepay.com/v2/customer-portal/create", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.ABACATEPAY_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    customerId: "cust_abc123xyz",
    checkoutId: "bill_abc123xyz",
  }),
});

const { data, error } = await res.json();
if (error) throw new Error(error);

// mande data.url no e-mail ou no botão "Minha assinatura"
console.log(data.url);
portal.py
import os
import requests

res = requests.post(
    "https://api.abacatepay.com/v2/customer-portal/create",
    headers={"Authorization": f"Bearer {os.environ['ABACATEPAY_API_KEY']}"},
    json={
        "customerId": "cust_abc123xyz",
        "checkoutId": "bill_abc123xyz",
    },
)
body = res.json()
if body["error"]:
    raise Exception(body["error"])

# mande body["data"]["url"] pro seu cliente
print(body["data"]["url"])
portal.php
<?php
$ch = curl_init("https://api.abacatepay.com/v2/customer-portal/create");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer " . getenv("ABACATEPAY_API_KEY"),
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "customerId" => "cust_abc123xyz",
        "checkoutId" => "bill_abc123xyz",
    ]),
]);
$body = json_decode(curl_exec($ch), true);

// mande $body["data"]["url"] pro seu cliente
echo $body["data"]["url"];

200 OKa resposta, igual em toda linguagem

{
  "data": {
    "id": "cpl_abc123xyz",
    "url": "https://portal.abacatepay.com/k3J9xQ2mP7vL1nR8sT4wY6zA0bC5dE2f",
    "customerId": "cust_abc123xyz",
    "checkoutId": "bill_abc123xyz",
    "devMode": false,
    "createdAt": "2026-10-29T12:00:00.000Z"
  },
  "success": true,
  "error": null
}

Com a sua marca, onde o cliente já está

A área do cliente abre com o nome e o logo da sua loja, e o link vai onde você já conversa com o cliente: no e-mail, no app ou no WhatsApp.

  • No e-mail da compra

    Um botão no e-mail de boas-vindas ou de cada cobrança, com o link daquela compra.

  • Na tela de assinatura do seu app

    Gere o link quando o cliente clicar e mande ele direto pra área, já na compra certa.

  • No WhatsApp do suporte

    Em vez de procurar o recibo, o atendente manda o link, e a próxima dúvida o cliente resolve sozinho.

Dúvidas sobre a área do cliente

O que mais perguntam os lojistas antes de mandar o link pros clientes.

O que é a área do cliente?

É uma página pronta da AbacatePay onde o seu cliente vê e resolve sozinho o que comprou na sua loja: pagamentos, recibos, assinatura e pedido de reembolso. Você manda um link e ele não precisa chamar o seu suporte.

O que o cliente consegue fazer?

Ver os pagamentos daquela compra, com status e forma de pagamento, abrir o recibo de cada um, trocar o cartão da assinatura, cancelar a assinatura no fim do período já pago e pedir o reembolso de um pagamento recente.

O cliente consegue se reembolsar sozinho?

Não. Ele pede o reembolso com o motivo, uma descrição e até 3 anexos, e você aprova ou nega no painel. O pedido vale até 7 dias depois do pagamento, um por pagamento. Aprovado, o valor volta pelo mesmo meio: Pix de volta pra conta que pagou ou estorno no cartão.

E se eu não responder o pedido?

Você tem 5 dias. Sem resposta, o pedido passa pro time da AbacatePay, que decide. Quando o cliente diz que não reconhece a cobrança, o pedido já começa com a gente, por ser suspeita de fraude.

Como gero o link da área do cliente?

Pela API: POST /v2/customer-portal/create com o customerId e o checkoutId da compra. A resposta traz a url, que você manda pro cliente. Chamar de novo com os mesmos dados devolve o mesmo link, então não precisa guardar.

Como o cliente entra? Precisa de senha?

Não precisa. Ele abre o link e digita o e-mail da compra. Se bater com o do cadastro, recebe um código de 6 dígitos, válido por 10 minutos, e a sessão dura 1 hora. Sem acesso ao e-mail, ninguém entra, mesmo com o link.

O cliente vê as compras de outras lojas?

Não. Cada link mostra uma compra de um cliente na sua loja, e mais nada.

Como fico sabendo do que o cliente fez?

O pedido de reembolso chega por e-mail e no painel. O cancelamento dispara o webhook subscription.cancelled com o motivo que o cliente escolheu, e o reembolso aprovado, o checkout.refunded, como se tivesse sido feito por você.

Trocar o cartão cobra o cliente?

Com a assinatura em dia, não: só as próximas cobranças passam a ir pro cartão novo. Se houver uma cobrança em atraso, ela é cobrada no cartão novo na hora.

Quanto custa?

Nada. A área do cliente vem com a conta: você paga só as taxas das vendas, R$ 0,80 fixo no Pix e, no cartão, de 5,42% + R$ 0,60 à vista a 17,37% + R$ 0,60 em 12x, recebendo no dia seguinte. Sem mensalidade e sem adesão.

Preciso de CNPJ?

Sim. Por enquanto a AbacatePay é só pra CNPJ. MEI serve.

Falar com vendas

Sem mensalidade e sem adesão.

Menos ticket,
mais venda.

Crie a conta, gere o primeiro link da área do cliente e deixe o seu suporte pro que precisa de gente.

Criar conta grátis

Sem mensalidade. Aprovação não leva semanas.

Ilustração renascentista com anjos e um abacate numa concha