API de Pagamentos Vanguru

Este documento fornece instruções sobre como integrar com a API de Pagamentos do Vanguru.

Autenticação

Gerar um token de desenvolvimento

  • GET /auth/dev
    • Descrição: Gera um token JWT de desenvolvimento. Este é um método de autenticação simplificado para uso em ambientes de desenvolvimento.
    • Integração:
      • Método: GET
      • Caminho: /auth/dev
      • Resposta: json { "token": "seu_token_jwt" }

Cliente (Customer)

Criar um cliente

  • POST /v1/customer
    • Descrição: Cria um novo cliente no sistema.
    • Integração:
      • Método: POST
      • Caminho: /v1/customer
      • Corpo: json { "name": "Nome do Cliente", "cpfCnpj": "12345678901" }
      • Resposta: 201 Created com a mensagem "Cliente criado com sucesso".

Buscar um cliente

  • GET /v1/customer/{cpfCnpj}
    • Descrição: Recupera o ID de um cliente pelo seu CPF/CNPJ.
    • Integração:
      • Método: GET
      • Caminho: /v1/customer/{cpfCnpj}
      • Resposta: 200 OK com o ID do cliente como string.

Pagamento (Payment)

Criar um pagamento

  • POST /v1/payment
    • Descrição: Cria um novo pagamento para um cliente.
    • Integração:
      • Método: POST
      • Caminho: /v1/payment
      • Corpo: json { "customer": "id_do_cliente", "billingType": "CREDIT_CARD", "value": 100.00, "dueDate": "2024-12-31", "description": "Mensalidade escolar" }
      • Resposta: 201 Created com a mensagem "Pagamento criado com sucesso".

Listar pagamentos do cliente

  • GET /v1/payment/{cpfCustomer}
    • Descrição: Recupera uma lista de todos os pagamentos de um cliente específico.
    • Integração:
      • Método: GET
      • Caminho: /v1/payment/{cpfCustomer}
      • Resposta: 200 OK com uma lista de objetos de pagamento.

Buscar um pagamento específico

  • GET /v1/payment/{cpfCustomer}/{idPayment}
    • Descrição: Recupera um pagamento específico de um cliente.
    • Integração:
      • Método: GET
      • Caminho: /v1/payment/{cpfCustomer}/{idPayment}
      • Resposta: 200 OK com o objeto de pagamento.

Criar um token de cartão de crédito

  • POST /v1/payment/tokenCreditCard
    • Descrição: Cria um token para um cartão de crédito, que pode ser usado para pagamentos futuros.
    • Integração:
      • Método: POST
      • Caminho: /v1/payment/tokenCreditCard
      • Corpo: json { "customer": "id_do_cliente", "creditCard": { "holderName": "Nome no Cartão", "number": "1234123412341234", "expiryMonth": "12", "expiryYear": "2030", "ccv": "123" }, "creditCardHolderInfo": { "name": "Nome do Titular", "email": "titular@exemplo.com", "cpfCnpj": "12345678901", "postalCode": "12345-678", "addressNumber": "123", "phone": "11987654321" } }
      • Resposta: 201 Created com a mensagem "Token criado com sucesso".

Webhook

Webhook do Asaas

  • POST /v1/webhook
    • Descrição: Recebe eventos de webhook do gateway de pagamento Asaas. Este endpoint é para uso interno e deve ser configurado no dashboard do Asaas.
    • Integração:
      • Método: POST
      • Caminho: /v1/webhook
      • Cabeçalho: asaas-access-token com o token do webhook.
      • Corpo: Payload do evento de webhook do Asaas.
      • Resposta: 200 OK.

Subconta (Sub-account)

Criar uma subconta

  • POST /v1/subaccount
    • Descrição: Cria uma nova subconta.
    • Integração:
      • Método: POST
      • Caminho: /v1/subaccount
      • Corpo: json { "name": "Nome da Subconta", "email": "subconta@exemplo.com", "cpfCnpj": "12345678901" }
      • Resposta: 201 Created com a mensagem "SubConta criada com sucesso".

Documentos (Document)

Verificar documentos pendentes

  • GET /v1/document/pending
    • Descrição: Verifica se há documentos pendentes para uma subconta.
    • Integração:
      • Método: GET
      • Caminho: /v1/document/pending
      • Parâmetros de Consulta:
        • key: A chave para identificar a subconta (ex: "id" ou "cpfCnpj").
        • value: O valor da chave.
      • Resposta: 200 OK com informações dos documentos.