Skip to main content
Upsell é a oferta de um produto a mais logo depois do pagamento. Você escolhe o produto ao criar o checkout, a AbacatePay mostra a oferta na tela de sucesso e cobra se o cliente aceitar. Você não precisa montar tela nenhuma. É um campo a mais no checkout e um cuidado no webhook.

Como funciona

  1. O cliente paga o checkout normalmente.
  2. A tela de sucesso mostra o produto com nome, descrição, preço e imagem, e o botão Aproveitar a oferta.
  3. Se ele aceitar, o upsell é cobrado no mesmo meio de pagamento da compra:
  1. Quando o upsell é pago, chega um novo checkout.completed do mesmo checkout.

Passo 1: crie o produto da oferta

O produto precisa ser avulso (sem cycle) e estar ativo. Preencha description e imageUrl, porque é isso que o cliente vê na oferta.
Você cria o produto uma vez e usa em quantos checkouts quiser.

Passo 2: crie o checkout com upSellProductId

Passe o id (prod_...) ou o externalId do produto da oferta:
Com completionUrl, a tela de sucesso só leva o cliente para a sua página quando ele toca em Continuar, para dar tempo de ver a oferta. Sem upsell, o redirecionamento acontece sozinho em 5 segundos.

Passo 3: trate o segundo checkout.completed

Quando o upsell é pago, chega outro checkout.completed com o mesmo checkout.id da compra e checkout.isUpSell: true:
Node.js
Se você trata duplicidade pelo checkout.id, o upsell é descartado como repetição e o cliente paga sem receber. Use o id do evento, que só se repete nas retentativas da mesma entrega.

Perguntas frequentes

Não. No cartão, o upsell sai à vista.
Não. O upsell é cobrado pelo preço do produto.
O produto está inativo ou tem cycle, ou a compra foi fechada com um cupom de 100%. Sem pagamento, não há oferta.
O upsell usa nome, e-mail, CPF/CNPJ e celular do cliente da compra. Se faltar algum, por exemplo com skip_customer=true no link, a oferta não é cobrada.
Veja os detalhes do campo em Referência do checkout.