Neofin V1
  1. Upsert de Cobranças
Neofin V1
  • Inicie sua jornada na Neofin
  • Preparando seus ambientes
  • Versão 1
    • API de Cobranças
      • Upsert de Cobranças
        • Como realizar o upsert de uma cobrança
        • Upsert de Cobranças
          POST
      • Buscando uma cobrança
        • Como buscar uma única cobrança
        • Buscando pelo Integration Identifier
          GET
        • Buscando pelo Billing Number
          GET
      • Marcando uma cobrança como paga
        • Como marcar uma cobrança como paga
        • Marcando como paga
          PUT
      • Cancelando uma cobrança
        • Como cancelar uma cobrança
        • Cancelando uma cobrança
          PUT
      • Listando suas cobranças
        • Como listar suas cobranças
        • Todas as cobranças
          GET
        • Cobranças por status
          GET
        • Cobranças por cliente
          GET
        • Cobranças por data de atualização
          GET
        • Eventos de cobranças
          GET
        • Eventos de uma uma cobrança por Integration Identifier
          GET
        • Cobranças por data de pagamento
          GET
      • Enviando anexos
        • Como enviar anexos
        • Anexando uma NF a uma cobrança pelo Integration Identifier
          PUT
        • Anexando um Boleto a uma cobrança pelo Integration Identifier
          PUT
    • API de Clientes
      • Upsert de um cliente
        • Como realizar o upsert de um cliente
        • Upsert de clientes
          POST
      • Buscando um cliente
        • Buscando um cliente por Integration Identifier
          GET
        • Buscando um cliente pelo documento
          GET
    • Webhooks
      • Como preparar seus webhooks
    • FAQ
      • Dúvidas frequentes
  1. Upsert de Cobranças

Como realizar o upsert de uma cobrança

Este endpoint receberá e colocará em fila até 50 cobranças por vez.
Não há rate limit.
Nenhuma informação da cobrança será retornada nessa requisição. Ela apenas recebe os dados, valida alguns parâmetros e retorna o sucesso do processo de enfileiramento. Todos os dados da cobrança serão enviados apenas via webhook (se configurado – a Neofin enviará um webhook para cada parcela criada) ou poderão ser recuperados através dos endpoints Listar cobranças ou Buscando uma cobrança.
Se o cliente a ser cobrado não estiver registrado na Neofin, o cadastro será realizado automaticamente com os dados fornecidos durante a criação da cobrança.
Atenção
A cobrança só será atualizada/inserida (upserted) se você utilizar o mesmo Integration Identifiers.
Evite usar valores dinâmicos (como timestamps) como seus Integration Identifiers.

Atributos do objeto Billing#

Este endpoint recebe os seguintes parâmetros:
ParâmetroTipoDescriçãoExemplo
address_cityString - Obrigatório - Não vazioCidade do endereço do cliente."São Paulo"
address_complementString - Obrigatório - Não vazioComplemento do endereço do cliente."Second Floor"
address_neighborhoodString - Obrigatório - Não vazioBairro do endereço do cliente."Brooklyn"
address_numberString - Obrigatório - Não vazioNúmero do endereço do cliente."356"
address_stateAddressStateEnum - Obrigatório - Não vazioSigla do estado onde o cliente está localizado."SP"
address_streetString - Obrigatório - Não vazioNome da rua do endereço do cliente."Avenida Paulista"
address_zip_codeString - Obrigatório - Não vazioCEP do endereço do cliente."01405-001"
amountNumber - Obrigatório - Não vazioValor total da cobrança em centavos de real (BRL), sem vírgulas.10050
typeBillingTypeStrEnum - Obrigatório - Não vazioTipo de método de pagamento."pix"
boleto_pdfString - Opcional - Não vazioURL para download do arquivo PDF do boleto."https://yourdomain.com.br/path_to_file/boleto.pdf"
boleto_base64String - Opcional - Não vazioConteúdo em base64 que gera um arquivo PDF de boleto.-
boletoBoleto - Opcional - Não vazioDetalhes para geração de boleto PDF quando o tipo for "generic".See field descriptions
customer_documentString - Obrigatório - Não vazioCPF (11 dígitos) ou CNPJ (14 dígitos) do cliente."75730786000100"
codeString - Opcional - Não vazioLinha digitável do boleto gerado quando o método de pagamento for "generic"."45454 45454656465 5454564656 61 46445456465465"
hashString - Opcional - Não vazioCódigo “Pix Copia e Cola” gerado quando o método de pagamento for "generic"."45454 45454656465 5454564656 61 46445456465465"
customer_mailString - Obrigatório - Não vazioE-mail principal do cliente que receberá a cobrança."customer@gmail.com"
customer_nameString - Obrigatório - Não vazioNome do cliente."Maria Quinteros"
customer_phoneString - Obrigatório - Não vazioTelefone do cliente com DDI."+5511987654321"
customer_secondary_phoneString - Opcional - EmptyTelefone secundário do cliente."+5511987654321"
discount_before_paymentNumber - Obrigatório - Não vazioPorcentagem de desconto se pago antes do vencimento.5
discount_before_payment_due_dateNumber - Obrigatório - Não vazioDias antes do vencimento em que o desconto se aplica.5
due_dateNumber - Obrigatório - Não vazioData de vencimento no formato Unix Timestamp.1678316400
feesNumber - Obrigatório - Não vazioPercentual de multa mensal em caso de não pagamento.1
fineNumber - Obrigatório - Não vazioPercentual de multa por atraso.2
installment_typeInstallmentTypeStrEnum - Obrigatório - Não vazioTipo de parcelamento para cálculo da data de vencimento."custom"
installmentsNumber - Obrigatório - Não vazioNúmero de parcelas.2
installments_dataList [InstallmentDataEnum] - Opcional, mas obrigatório caso installment_type for "custom" - Não vazioObjeto contendo detalhes das parcelas.Ver o exemplo abaixo
integration_identifierString - Opcional - Não vazioIdentificador customizado da cobrança."Neofin-103923"
nfe_numberString - Opcional - Não vazioIdentificador da nota fiscal ou recibo."123123123"
recipientsList[String] - Opcional - Não vazioE-mails para receber cópia da cobrança (CC).["email1@company.com", "email2@company.com"]
descriptionString - Opcional - Não vazioComentário ou descrição da cobrança."Thanks for paying."
ignore_existing_customer_upsertBoolean - OpcionalQuando valor for verdadeiro, a atualização dos dados do cliente não será realizada na Neofin se ele já estiver cadastrado.true

AddressStateEnum#

AC: Acre
AL: Alagoas
AP: Amapá
AM: Amazonas
BA: Bahia
CE: Ceará
DF: Distrito Federal
ES: Espírito Santo
GO: Goiás
MA: Maranhão
MT: Mato Grosso
MS: Mato Grosso do Sul
MG: Minas Gerais
PA: Pará
PB: Paraíba
PR: Paraná
PE: Pernambuco
PI: Piauí
RJ: Rio de Janeiro
RN: Rio Grande do Norte
RS: Rio Grande do Sul
RO: Rondônia
RR: Roraima
SC: Santa Catarina
SP: São Paulo
SE: Sergipe
TO: Tocantins
{{$location.state(abbreviated=true,locale='pt_BR')}}

InstallmentTypeStrEnum#

InstallmentTypeEnum
enum<string> 
InstallmentTypeEnum
optional
Allowed values:
weeklybiweeklymonthlycustom

BillingTypeStrEnum#

O método de pagamento que você deseja cobrar do seu cliente. Se você fornecer o método de pagamento "generic", será esperado que o boleto seja emitido pelo seu banco. Nesse caso, é necessário informar os campos "boleto", "boleto_pdf" ou "boleto_base64".
BillingType
enum<string> 
BillingType
optional
Allowed values:
genericbolepixboletopix

InstallmentData#

Campos#

CampoTipoDescrição
amountNumberValor da parcela em centavos BRL.
due_dateNumberData de vencimento formatada como Unix Timestamp.
installment_numberNumberNúmero da parcela.

Boleto#

Se o campo "type" for "generic" e você não puder ou não tiver como fornecer um link para download do boleto via "boleto_pdf", você pode usar este campo para inserir os dados do boleto que você gerou, e a Neofin irá gerar um PDF no formato de cobrança da plataforma.

Campos#

CampoTipoDescrição
barcode_numberStringCódigo necessário para gerar o código de barras.
discount_valueNumberValor nominal de desconto antes do vencimento.
discount_value_2NumberValor nominal de abatimentos.
document_due_dateStringData de vencimento no padrão ISO 8601.
document_issue_dateStringData da última atualização do documento, no padrão ISO 8601.
document_numberStringNúmero do documento informado pelo banco ao gerar o boleto.
document_processing_dateStringData de criação do documento no padrão ISO 8601.
document_valueNumberValor da cobrança em decimal.
drawee_nameStringNome do beneficiário.
drawee_tax_numberStringDocumento do beneficiário (CPF ou CNPJ).
fillable_codeStringLinha digitável do boleto.
fine_rateNumberPercentual de multa.
interest_rateNumberPercentual de juros.
recipient_bank_codeStringCódigo do banco onde o boleto foi gerado.
recipient_bank_digitStringDígito do código do banco.
recipient_bank_internal_numberStringNúmero gerado pelo banco ao criar o boleto (normalmente o "nosso número").
branchStringNúmero da agência bancária.
account_numberStringNúmero da conta bancária do beneficiário.
account_number_digitStringDígito da conta bancária.
charging_categoryStringCategoria da cobrança para fins de classificação.

Exemplo de Boleto#

{
   "barcode_number": "123456789012",
   "discount_value": 50,
   "discount_value_2": 10,
   "document_due_date": "2025-04-01T12:00:00Z",
   "document_issue_date": "2025-03-28T12:00:00Z",
   "document_number": "4545454545",
   "document_processing_date": "2025-03-28T12:00:00Z",
   "document_value": 150.75,
   "drawee_name": "Maria Quinteros",
   "drawee_tax_number": "75730786000100",
   "fillable_code": "1234567890",
   "fine_rate": 2,
   "interest_rate": 1,
   "recipient_bank_code": "033",
   "recipient_bank_digit": "6",
   "recipient_bank_internal_number": "12345678",
   "branch": "1234",
   "account_number": "567890",
   "account_number_digit": "1",
   "charging_category": "standard"
}

Casos de uso#

Parcelamento Automático#

Se você deseja que a Neofin calcule automaticamente suas parcelas, deve enviar os parâmetros:
installments e installment_type e ⚠️ não deve enviar ⚠️ o parâmetro installments_data.
Exemplo: Hoje é 01/01/2024 e você quer cobrar R$1.000,00 de um cliente que irá pagar em 10 parcelas de R$100,00. A primeira data de vencimento desejada é 01/02/2024.
Você deve preencher:
A Neofin criará 10 cobranças no valor de R$100,00 cada, sendo a primeira com vencimento em 01/02/2024, a segunda com vencimento em 01/03/2024, e assim por diante, até a última com vencimento em 01/11/2024.

Parcelamento Personalizado#

Se você deseja parcelas personalizadas, deve enviar os parâmetros installments, installment_type e installments_data.
Exemplo: Hoje é 01/01/2024 e você quer cobrar R$1.000,00 de um cliente que irá pagar em 3 parcelas:
R$100,00 com vencimento em 01/02/2024
R$200,00 com vencimento em 10/02/2024
R$700,00 com vencimento em 20/02/2024
Você deve preencher:
A Neofin criará 3 cobranças com as definições de parcelas fornecidas.

Métodos de Pagamento#

Boleto
Possui um código de barras que pode ser lido por aplicativos bancários ou caixas eletrônicos, e o valor leva de 2 a 3 dias úteis para ser transferido entre contas bancárias. Para utilizá-lo, envie a string 'boleto'.
Pix
Meio de pagamento instantâneo criado pelo Banco Central do Brasil. Possui um QR Code que é lido pelo aplicativo do banco do pagador, e o valor é transferido em tempo real entre contas bancárias. Para utilizá-lo, envie a string 'pix'.
Bolepix
Combinação entre Boleto e Pix. Ambos os métodos de pagamento estão disponíveis (código de barras e QR Code) e o pagador pode escolher qual usar. Para utilizá-lo, envie a string 'bolepix'.
Ted In
Transferência bancária tradicional. O valor é transferido em tempo real. Para utilizá-lo, envie a string 'tedin'.
Pix In
Transferência bancária utilizando uma Chave Pix em vez de dados bancários. A chave pode ser um número de telefone, um e-mail, um CPF/CNPJ ou um UUID aleatório. O valor é transferido em tempo real. Para utilizá-lo, envie a string 'pixin'.
Credit Card
O pagador pode utilizar o cartão de crédito para pagar a cobrança. Normalmente usado em cobranças recorrentes. Para utilizá-lo, envie a string 'credit_card'.
Generic
Usado quando a cobrança é gerada fora da plataforma Neofin e integrada a ela apenas para uso de regras de cobrança e/ou negativação e protesto. Para utilizá-lo, envie a string 'generic'.

Exemplo de requisição cURL#

Exemplo de retorno:

{
    "message": "Billings successfully queued.",
    "errors": {}
}
Ao atualizar (upsert) uma cobrança, fique atento aos campos que podem ser editados:

Campos Editáveis#

address_city
address_complement
address_neighborhood
address_number
address_state
address_street
address_zip_code
amount*
boleto: Apenas quando tipo for "generic".
by_mail
by_whatsapp
customer_mail
customer_name
customer_trade_name
customer_phone
customer_secondary_phone
discount_before_payment
discount_before_payment_due_date
due_date*
fees
fine
installment_type
installments
installments_data
integration_identifier
nfe_number
recipients
type*
Previous
Preparando seus ambientes
Next
Upsert de Cobranças
Built with