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


Título do Fluxo: Alteração de Cartão de Crédito em Assinatura via Checkout

Este diagrama mostra como realizar a alteração do cartão de crédito de um cliente para uma assinatura via checkout na plataforma Vindi. Aqui está a descrição detalhada de cada passo no fluxo.

1. Verificar se o Cliente Existe

Método: GET
Endpoint: /v1/customers?query=registry_code={cpf/cnpj do cliente}
Descrição: Verifica se o cliente existe através do CPF ou CNPJ.
Exemplo de Parâmetros:

GET /v1/customers?query=registry_code=12345678901

2. Consultar Cartões de Crédito do Cliente

Método: GET
Endpoint: /v1/payment_profiles?query=customer_id={id do cliente em Vindi}
Descrição: Consulta os cartões de crédito cadastrados do cliente.
Exemplo de Parâmetros:

GET /v1/payment_profiles?query=customer_id=873101

3. Criptografar Dados do Novo Cartão de Crédito

Método: POST
Endpoint: /v1/public/payment_profiles
Descrição: Criptografa os dados sensíveis do novo cartão de crédito do cliente.
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. Criar Perfil de Pagamento

Método: POST
Endpoint: /v1/payment_profiles
Descrição: Cria o perfil de pagamento informando o gateway_token gerado na etapa de criptografia.
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. Verificar Validade do Cartão

Método: POST
Endpoint: /v1/payment_profiles/{id}/verify
Descrição: Verifica a validade do cartão de crédito.
Exemplo de Parâmetros:

POST /v1/payment_profiles/12345/verify

6. Atualizar Assinatura

Método: PUT
Endpoint: /v1/subscriptions/{id}
Descrição: Atualiza a assinatura do cliente informando o novo perfil de pagamento.
Exemplo de Parâmetros:

{
  "payment_profile_id": 12345
}

7. Deletar Cartão Antigo

Método: DELETE
Endpoint: /v1/payment_profiles/{id}
Descrição: Deleta o cartão de crédito antigo do cliente.
Exemplo de Parâmetros:

DELETE /v1/payment_profiles/12345

Descrição do Processo:

  1. Cliente Acessa o App: O cliente acessa o aplicativo ou portal com login e senha e solicita a alteração de cartão de crédito.

  2. Verificar se o Cliente Existe:

    • Método: GET
    • Endpoint: /v1/customers?query=registry_code={cpf/cnpj do cliente}
    • Descrição: Verifica se o cliente existe na base de dados através do CPF ou CNPJ.
  3. Consultar Cartões de Crédito do Cliente:

    • Método: GET
    • Endpoint: /v1/payment_profiles?query=customer_id={id do cliente em Vindi}
    • Descrição: Consulta os cartões de crédito que o cliente possui cadastrado.
  4. Apresentar Cartões ao Cliente: Apresenta na tela os cartões que o cliente possui, exibindo apenas os 6 primeiros e os 4 últimos dígitos.

  5. Cliente Escolhe Cartão e Preenche Dados do Novo Cartão:

    • O cliente escolhe o cartão que deseja alterar e preenche os dados do novo cartão de crédito.
  6. Criptografar Dados do Novo Cartão:

    • Método: POST
    • Endpoint: /v1/public/payment_profiles
    • Descrição: Criptografa os dados sensíveis do novo cartão.
    • 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"
      }
      
  7. Criar Perfil de Pagamento:

    • Método: POST
    • Endpoint: /v1/payment_profiles
    • Descrição: Cria um novo perfil de pagamento com o gateway_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"
      }
      
  8. Verificar Validade do Cartão:

    • Método: POST
    • Endpoint: /v1/payment_profiles/{id}/verify
    • Descrição: Verifica se o novo cartão de crédito é válido.
    • Exemplo de Parâmetros:
      POST /v1/payment_profiles/12345/verify
      
  9. Atualizar Assinatura:

    • Método: PUT
    • Endpoint: /v1/subscriptions/{id}
    • Descrição: Atualiza a assinatura do cliente com o novo perfil de pagamento.
    • Exemplo de Parâmetros:
      {
        "payment_profile_id": 12345
      }
      
  10. Deletar Cartão Antigo:

    • Método: DELETE
    • Endpoint: /v1/payment_profiles/{id}
    • Descrição: Deleta o cartão de crédito antigo do cliente.
    • Exemplo de Parâmetros:
      DELETE /v1/payment_profiles/12345
      
  11. Apresentar Resultado ao Cliente:

    • Se o cartão for válido, apresenta uma mensagem de sucesso.
    • Se o cartão for inválido, apresenta uma mensagem de erro e retorna à etapa de criptografia para tentar novamente.