Assinatura - Checkout Transparente - Cartão de Crédito

Assinatura com cartão de crédito

Título do Fluxo: Fluxo Assinatura (Cartão de Crédito)

Este diagrama mostra o processo de geração e pagamento de uma assinatura utilizando o método de pagamento Cartão de Crédito na plataforma Vindi. Abaixo está a descrição detalhada de cada passo no fluxo, incluindo métodos de autenticação, endpoints e exemplos de parâmetros para requisições.

1. Cliente Realiza a Compra

Descrição: O cliente inicia o processo de assinatura do serviço.

2. Cadastrar o Cliente

Método: POST
Endpoint: /v1/customers
Descrição: Cadastra o cliente na plataforma Vindi.
Exemplo de Parâmetros:

{
  "name": "Nome do Cliente",
  "email": "emaildocliente@teste.com",
  "registry_code": "430.967.348-10",
  "address": {
    "street": "R. do Paraíso",
    "number": "148",
    "zipcode": "04103-000",
    "neighborhood": "Liberdade",
    "city": "São Paulo",
    "state": "SP",
    "country": "BR"
  },
  "phones": [
    {
      "phone_type": "mobile",
      "number": "5511991468778"
    }
  ]
}

3. Tokenizar o Cartão de Crédito

Método: POST
Endpoint: /v1/public/payment_profiles
Descrição: Tokeniza os dados do cartão de crédito do cliente para segurança. Este processo deve ser realizado com uma chave API pública da Vindi. O token tem 5 minutos para ser utilizado, após esse tempo, é necessário tokenizar o cartão novamente.
Exemplo de Parâmetros:

{
  "allow_as_fallback": true,
  "holder_name": "FULANO VINDIADO",
  "card_expiration": "12/2028",
  "card_number": "5555555555555557",
  "card_cvv": "333",
  "payment_method_code": "credit_card",
  "payment_company_code": "mastercard"
}

4. Cadastrar Perfil de Pagamento

Método: POST
Endpoint: /v1/payment_profiles
Descrição: Cadastra o perfil de pagamento na Vindi usando o token gerado na etapa anterior.
Exemplo de Parâmetros:

{
  "customer_id": 873101,
  "holder_name": "FULANO VINDIADO",
  "card_expiration": "12/2028",
  "gateway_token": "1e6e5231-4323-41ee-bb9d-8902dd60d0f7",
  "payment_company_code": "mastercard"
}

5. Criar Assinatura

Método: POST
Endpoint: /v1/subscriptions
Descrição: Cria uma assinatura para o cliente cadastrado, incluindo o token do payment_profile.
Exemplo de Parâmetros:

{
  "plan_id": 12345,
  "customer_id": 873101,
  "payment_method_code": "credit_card",
  "subscription_items": [
    {
      "product_id": 88171,
      "amount": 150,
      "description": "Teste Vindi assinatura R$5,90"
    }
  ],
  "payment_profile": {
    "gateway_token": "1e6e5231-4323-41ee-bb9d-8902dd60d0f7"
  }
}

Ciclo da Assinatura

Gera o Ciclo da Assinatura

Descrição: A cada ciclo da assinatura, a Vindi gera a fatura correspondente.

Enviar Link de Pagamento

Descrição: O sistema envia ao cliente um link de pagamento contendo os dados para que ele possa realizar o pagamento da fatura.
Notas: O link para pagamento da fatura é retornado na resposta da requisição de criação da assinatura.

Processamento do Pagamento

Pagamento Aprovado

Descrição: Quando o pagamento é identificado como aprovado, a Vindi processa o arquivo e atualiza as cobranças, realizando a baixa na fatura.
Endpoint Webhook: Fatura Paga
Notas: A Vindi envia um webhook "Fatura Paga" para notificar que o pagamento foi realizado com sucesso.

Pagamento Rejeitado

Descrição: Se o pagamento for rejeitado, a Vindi envia um webhook "Cobrança Rejeitada" e pode tentar novamente após 3 dias.
Endpoint Webhook: Cobrança Rejeitada
Notas: Uma notificação opcional pode ser enviada ao cliente informando que o pagamento foi rejeitado.

Resumo das Requisições:

  1. Cadastrar Cliente:

    • Método: POST
    • Endpoint: /v1/customers
    • Exemplo de Parâmetros:
      {
        "name": "Nome do Cliente",
        "email": "emaildocliente@teste.com",
        "registry_code": "430.967.348-10",
        "address": {
          "street": "R. do Paraíso",
          "number": "148",
          "zipcode": "04103-000",
          "neighborhood": "Liberdade",
          "city": "São Paulo",
          "state": "SP",
          "country": "BR"
        },
        "phones": [
          {
            "phone_type": "mobile",
            "number": "5511991468778"
          }
        ]
      }
      
  2. Tokenizar Cartão de Crédito:

    • Método: POST
    • Endpoint: /v1/public/payment_profiles
    • Exemplo de Parâmetros:
      {
        "allow_as_fallback": true,
        "holder_name": "FULANO VINDIADO",
        "card_expiration": "12/2028",
        "card_number": "5555555555555557",
        "card_cvv": "333",
        "payment_method_code": "credit_card",
        "payment_company_code": "mastercard"
      }
      
  3. Cadastrar Perfil de Pagamento:

    • Método: POST
    • Endpoint: /v1/payment_profiles
    • Exemplo de Parâmetros:
      {
        "customer_id": 873101,
        "holder_name": "FULANO VINDIADO",
        "card_expiration": "12/2028",
        "gateway_token": "1e6e5231-4323-41ee-bb9d-8902dd60d0f7",
        "payment_company_code": "mastercard"
      }
      
  4. Criar Assinatura:

    • Método: POST
    • Endpoint: /v1/subscriptions
    • Exemplo de Parâmetros:
      {
        "plan_id": 12345,
        "customer_id": 873101,
        "payment_method_code": "credit_card",
        "subscription_items": [
          {
            "product_id": 88171,
            "amount": 150,
            "description": "Teste Vindi assinatura R$5,90"
          }
        ],
        "payment_profile": {
          "gateway_token": "1e6e5231-4323-41ee-bb9d-8902dd60d0f7"
        }
      }
      

Notas Adicionais:

  • Webhook "Assinatura Criada": Usado para notificar a criação da assinatura.
  • Webhook "Fatura Gerada": Usado para notificar a geração da fatura.
  • Webhook "Fatura Paga": Usado para notificar que a fatura foi paga com sucesso.
  • Webhook "Cobrança Rejeitada": Usado para notificar que o pagamento foi rejeitado.
  • Notificação de Pagamento: Se o pagamento não for identificado, o cliente é notificado com opções para tentar novamente com outro método de pagamento.

Estas descrições ajudam a entender como realizar a atividade de emissão e pagamento de assinaturas via Cartão de Crédito, conforme ilustrado no diagrama.