> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appreval.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Como a Reval funciona: do plano escolhido ao pedido na Shopify

> Percurso completo do ciclo de vida de uma assinatura na Reval: criação, cobranças automáticas, portal do cliente e novas tentativas de pagamento.

A Reval coordena três sistemas —o navegador do comprador, o Mercado Pago e a Shopify— para que cada assinatura funcione de ponta a ponta sem intervenção manual. Esta página explica como a informação flui em cada etapa, tanto da perspectiva da sua loja quanto da do assinante.

<Note>
  **A Shopify é a única fonte da verdade.** Cada cobrança aprovada gera um pedido real na Shopify, com as linhas de produto, o custo de frete e os impostos calculados ao vivo. Não há banco de dados paralelo nem pedidos "fantasma": o que você vê no seu admin da Shopify é o que foi realmente cobrado e será enviado.
</Note>

## Fluxo completo de uma assinatura

```text theme={null} theme={null}
Comprador escolhe o plano
        │
        ▼
  Checkout customizado da Reval
  (tokenização no navegador)
        │
        ▼
  Mandato com valor livre criado no MP
        │
        ▼
  Cobrança automática em cada ciclo
        │
        ▼
  Webhook do MP → Reval valida idempotência
        │
        ▼
  Pedido real criado na Shopify
  (linhas + frete + impostos ao vivo)
        │
        ▼
  Fulfillment pelo seu fluxo habitual
```

***

<Tabs>
  <Tab title="Visão do lojista">
    ### O que acontece na sua loja

    Como lojista, a sua interação principal com a Reval acontece em dois momentos: a configuração inicial (planos, descontos, frequências) e a revisão dos relatórios. O dia a dia roda automaticamente.

    #### Criação da assinatura

    <Steps>
      <Step title="O comprador escolhe um plano no buy box">
        Na página do produto aparece um seletor de planos com a frequência (semanal, mensal, bimestral, etc.) e o desconto associado a cada um. O comprador seleciona o plano e clica em "Assinar".
      </Step>

      <Step title="Checkout customizado da Reval">
        O comprador informa os dados do cartão diretamente no checkout da Reval. **A tokenização acontece no navegador**, sem redirecionamento para o Mercado Pago. O servidor da Reval nunca vê o número completo do cartão.
      </Step>

      <Step title="Criação do mandato de cobrança recorrente com valor livre">
        A Reval cria um mandato de cobrança recorrente (preapproval) no Mercado Pago usando a modalidade de **valor livre**, ou seja, sem vinculá-lo a um plano fixo do Mercado Pago. Isso é indispensável porque um mandato vinculado a um plano do MP só pode cobrar um valor fixo, sem capacidade de somar frete, impostos ou descontos por cliente. Com valor livre, cada ciclo cobra o valor exato (produto + frete + impostos) consultado ao vivo nas tarifas reais da sua loja na Shopify.
      </Step>

      <Step title="Primeira cobrança e pedido na Shopify">
        A primeira cobrança é executada de imediato. Quando o Mercado Pago confirma o pagamento via webhook, a Reval cria o primeiro pedido na Shopify com todas as linhas, o frete e os impostos. Esse pedido entra no seu fluxo normal de fulfillment.
      </Step>
    </Steps>

    #### Ciclo recorrente

    <Steps>
      <Step title="Cobrança automática pelo mandato">
        Na data do ciclo, o Mercado Pago executa a cobrança usando o mandato ativo. O valor é o que ficou fixado no mandato —produto, frete e imposto calculados no momento da criação— e só muda se alguém o atualizar explicitamente pelo admin ou pelo portal.
      </Step>

      <Step title="O webhook do MP chega à Reval">
        O Mercado Pago notifica o resultado da cobrança (aprovada ou recusada) por meio de um webhook. A Reval verifica a idempotência: se o evento já foi processado, ela o descarta sem criar um pedido duplicado.
      </Step>

      <Step title="Pedido criado na Shopify (cobrança aprovada)">
        Se a cobrança foi aprovada, a Reval cria imediatamente um pedido na Shopify com as linhas atuais da assinatura, o custo de frete e os impostos. O pedido fica disponível para fulfillment na hora.
      </Step>

      <Step title="Cobrança recusada">
        A Reval registra a falha com o motivo e a exibe no admin e no portal. **O Mercado Pago tenta a cobrança novamente por conta própria**; se as tentativas se esgotarem, ele cancela o mandato e a Reval marca a assinatura como cancelada. Nenhum pedido é criado até que haja uma cobrança aprovada.
      </Step>
    </Steps>

    <Tip>
      Você pode ver o status de cada assinatura, as tentativas de cobrança e o histórico de pedidos diretamente no painel da Reval dentro do seu admin da Shopify.
    </Tip>
  </Tab>

  <Tab title="Visão do assinante">
    ### O que o comprador vivencia

    O assinante não precisa criar uma conta separada nem instalar nada. Tudo acontece dentro da sua loja Shopify.

    #### Criação da assinatura

    <Steps>
      <Step title="Escolhe o plano no produto">
        Na página do produto, o comprador vê o buy box da Reval com as opções de assinatura disponíveis: frequências e descontos. Escolhe a que mais lhe convém.
      </Step>

      <Step title="Informa os dados do cartão">
        O checkout customizado da Reval aparece dentro do tema da sua loja. O comprador informa número do cartão, validade e CVV. Os dados são tokenizados diretamente no navegador dele.
      </Step>

      <Step title="Confirma a assinatura">
        Ao confirmar, a primeira cobrança é processada de imediato. O comprador recebe uma confirmação e fica ativo no portal de autoatendimento.
      </Step>
    </Steps>

    #### Portal de autoatendimento

    O portal do assinante fica dentro do tema da sua loja (não é uma página externa). De lá, cada cliente pode:

    <CardGroup cols={2}>
      <Card title="Ver a próxima cobrança" icon="calendar">
        Data do próximo ciclo, valor estimado e produtos incluídos naquele envio.
      </Card>

      <Card title="Trocar produtos ou quantidades" icon="pen-to-square">
        Trocar de variante (outro sabor, outro tamanho) ou ajustar a quantidade de cada item.
      </Card>

      <Card title="Adicionar um add-on" icon="circle-plus">
        Somar um produto pontual ao próximo ciclo. A cobrança é feita na hora e o item é enviado junto com o pedido recorrente.
      </Card>

      <Card title="Pausar ou cancelar" icon="circle-pause">
        Pausar as cobranças e retomá-las manualmente quando quiser, ou cancelar informando o motivo.
      </Card>

      <Card title="Editar o endereço de entrega" icon="location-dot">
        Atualizar os dados de entrega, que passam a valer a partir do próximo envio.
      </Card>

      <Card title="Ver o histórico" icon="clock-rotate-left">
        Consultar os pedidos gerados pela assinatura e quanto já economizou em relação ao preço sem plano.
      </Card>
    </CardGroup>

    <Info>
      O portal usa **links assinados criptograficamente**, o que significa que o comprador acessa pelo e-mail de confirmação sem precisar criar uma senha. Os links têm expiração configurável.
    </Info>
  </Tab>
</Tabs>

***

## Segurança e confiabilidade

A Reval foi desenhada para que cada operação seja segura e não gere estados inconsistentes:

<CardGroup cols={2}>
  <Card title="Tokenização no navegador" icon="shield-halved">
    Os dados do cartão nunca passam pelos servidores da Reval. O SDK do Mercado Pago tokeniza diretamente no navegador do comprador.
  </Card>

  <Card title="Webhooks idempotentes" icon="check-double">
    Cada evento do Mercado Pago é processado uma única vez. Se o webhook chegar duplicado, a Reval detecta e não cria um pedido extra.
  </Card>

  <Card title="Links assinados" icon="key">
    O portal e o checkout usam links com assinatura criptográfica. Sem a assinatura correta, não há acesso.
  </Card>

  <Card title="Pedidos que não se perdem" icon="rotate">
    Se uma cobrança é aprovada mas o pedido não pode ser criado —por exemplo, porque um produto ficou sem estoque— ele entra na fila e um processo diário tenta de novo até conseguir. O cliente já pagou: o pedido dele não se perde.
  </Card>
</CardGroup>
