---
agentTools:
  projectIndex: https://docs.ninepay.com.br/llms.txt
  projectSearch: https://docs.ninepay.com.br/agentSearch?query=term1%20term2
---

# Checkout Externo

A modalidade de checkout externo permite que você processe pagamentos, links e assinaturas sem precisar desenvolver um checkout no seu site ou app.

## Como funciona

O fluxo é bem simples: você direciona o cliente para uma página da NinePay onde ele fará o pagamento e/ou assinatura, e a NinePay notifica seu sistema via webhook!

## Exemplo: criando uma assinatura com dados de cliente pré-definidos

Durante a criação de uma assinatura, a NinePay precisa coletar informações básicas do cliente como nome e email. As vezes você irá preferir seu próprio sistema enviar essas informações ao invés de deixar o cliente preenchê-las no checkout, pois ele pode cometer erros neste processo.

Para isso, recomendamos que antes de enviar o cliente para o checkout externo, seu sistema faça uma chamada para criar o registro deste cliente na NinePay. Assim, como o ID dele em seu sistema, você pode usar o recurso de Criar uma Assinatura já vinculado diretamente a este cliente, e ele terá que preencher apenas as informações de pagamento no checkout.

> 👍 Dica
>
> Outra vantagem deste fluxo é que tendo de antemão o ID do cliente salvo em seu sistema, você poderá receber e processar as notificações/webhooks de maneira mais simples.

## Usando os endpoints para criar uma assinatura com dados de cliente pré-definidos

1. Use o [endpoint de criação de plano](/reference/criar-novo-plano) ou crie um via dashboard. Você precisa de um plano para criar uma assinatura pois todas as assinaturas estão vinculadas a um plano.
2. Use o [endpoint de criação de cliente](/reference/criar-novo-cliente). Toda assinatura tem um cliente vinculado.
3. Use o [endpoint de criação da assinatura](/reference/criar-nova-assinatura). Na resposta de sucesso deste endpoint, você receberá um campo `uuid` dentro dos dados da assinatura. Com esse valor você deve redirecionar o usuário para a página de checkout:
   - em produção: `https://checkout.ninepay.com.br/subscription/<uuid>/activate`;
   - no sandbox: `https://app.sandbox.cefispay.com.br/subscription/<uuid>/activate`.

  > 📘 Nota
  >
  > Substitua `<uuid>` pelo valor recebido na criação da assinatura.
