Pré-pagamento

Geração de pagamentos antecipados para contratos em andamento.

Esta API permite a geração de pagamentos antecipados para contratos em andamento, oferecendo diversas configurações de acordo com o fundo e facilitando simulações antes da efetivação do pré-pagamento. Além disso, é possível consultar a posição do crédito e também o(s) boleto(s) gerado(s) após efetivação do pré-pagamento.

Segurança

📘

BTG Id

O Authorization Server do BTG Empresas se chama BTG Id. Usando o BTG Id, um aplicativo parceiro consegue consentimento e autorização para executar operações nas APIs do BTG em nome do cliente. Para saber mais, acesse a documentação do BTG Id

Escopos necessários

O token para consumir a API de Pré-pagamento deve ser gerado usando o Client Credentials.

O token deve ser criado pedindo os seguintes escopos:

EscopoDescrição
empresas.btgpactual.com/prepaymentsEscopo necessário para efetuar pré-pagamentos

Posição do Crédito

Exibe informações relacionadas à crédito de um contrato em um dia específico, útil para verificar a situação do contrato antes e depois de uma possível antecipação.

// exemplo de resposta:
[
  {
    "amortization_type": "InstallmentFlow",
    "balance_date": "2023-08-02T00:00:00.000Z",
    "contract_number": "1247244/HYD",
    "currency": "BRL",
    "installments": [
      {
        "amount_at_maturity": 136.1,
        "curve_value": 140.62,
        "discount": 0,
        "installment_number": 1,
        "principal": 117.28,
        "status_description": "Opened"
      }
    ],
    "is_vnp": true,
    "position_date": "2023-08-02T00:00:00.000Z",
    "trade_id": 11266246
  }
]

Configurações do Fundo

As configurações do fundo se referem-se às diferentes formas e regras que esse fundo lida com a geração de pagamentos antecipados. Tais configurações são previamente estabelecidas pela equipe interna de gerenciamento de contratos, podendo haver diferentes tipos, cada um com critérios específicos. Exemplos de configurações suportadas:

allow_partial_prepayment: valor booleano que informa se é possível antecipar apenas algumas parcelas do contrato.

allowed_order:

  • ASC: antecipação das parcelas devem seguir a ordenação crescente.
  • DESC: antecipação das parcelas devem seguir a ordenação decrescente.
  • ANY: antecipação das parcelas podem seguir qualquer ordem, desde que sejam em sequência.

wallet_closing_time: indica até que horas poderá ser solicitado o pré-pagamento no dia em específico.

allow_vnp_prepayment: valor booleano que informa se é possível realizar o pagamento de parcelas atrasadas/vencidas.

future_payment_date: valor booleano que informa se é possível realizar o pagamento em dias futuros.

minimun_accrual_days: número mínimo de dias necessários para emissão de pré-pagamento após vigência do contrato.

maximum_prepayment_days_before_due: número de dias anteriores ao vencimento da parcela que não permitem o pré-pagamento.

prepayment_method:

  • PREPAYMENT: permite somente o pagamento do valor completo das parcelas.
  • AMORTIZATION: permite pagamento parcial do valor das parcelas.

settlement_method: lista os tipos de pagamentos permitidos (Boleto, TED, PIX, Débito em Conta).

// exemplo de configuração:
{
    "cge": "6666666",
    "id": "00000000-0000-0000-0000-000000000000",
    "name": "Nome aqui",
    "prepayment": {
        "allow_partial_prepayment": false,
        "allow_vnp_prepayment": false,
        "allowed_order": "ANY",
        "closing_time": "23:00:00",
        "future_payment_date": true,
        "maximum_prepayment_days_before_due": 0,
        "minimum_accrual_days": 5,
        "prepayment_method": "PREPAYMENT",
        "settlement_methods": [
            {
                "id": 3,
                "name": "Boleto",
                "short_name": "BOLETO"
            }
        ]
    },
    "tax_id": "444490909000444",
    "texts": {
        "AMORTIZATION_ALERT_EMAIL": "[email protected]",
        "AMORTIZATION_ALERT_MESSAGE": "Corpo da mesangem aqui",
        "AMORTIZATION_ALERT_TITLE": "Titulo da mensagem aqui"
    }
}

Simulação

A simulação de um pré-pagamento é a etapa em que é aplicado as regras de acordo com as configurações do fundo citadas acima, é necessário informar o número do contrato contract_number, identificador do fundo fund_tax_id, parcelas à serem antecipadas installments e por fim, a data da posição position_date.

// exemplo de resposta:
{
  "simulation_identification": "FDA4162DA3999EB0570307A7356110F5-638101491065224458",
  "value_to_pay": 244.18
}

Confirmação

Após uma simulação bem-sucedida será obtido o valor simulation_identification, que será necessário para confirmar a geração do pré-pagamento, onde a geração da antecipação se tornará de fato efetiva.

// exemplo de resposta:
{
  "barcode_number": 2.0890001091e+46
}

Boletos

Após confirmação de um pré-pagamento, é possível consultar o boleto gerado para pagamento, basta informar o número da simulação simulation_identification.

// exemplo de resposta:
string (base64)