Cobrança simples — Boleto Bancário

📘

O que você vai aprender com este artigo?

  • Quando e como ativar o método bank_slip em sua conta
  • Como configurar e criar clientes via API
  • Passos para realizar uma cobrança utilizando boleto bancário
  • Parâmetros importantes e cuidados a serem tomados com zip_code
  • Como adicionar multas, juros e pro rata em suas faturas

Caso de uso

“Preciso que meu cliente consiga pagar por um produto/serviço utilizando o cartão de crédito como método de pagamento num processo simples e com Checkout Transparente.”


Ativar método bank_slip

Já ativo? Pule para a etapa1. Se não, ative o método Boleto Bancário em sua conta. Utilize o endpoint Configurar Contav1/accounts/configuration. Informe true no parâmetro active do objeto bank_slip.


1. Criar Cliente (opcional)

Já tem um cliente criado? Utilize o endpoint Listar ou Buscar ClienteGET v1/customers/{id}. Pule para a etapa 2 com o customer_id.

Se não, utilize o endpoint Criar ClientePOST v1/customers. Atente-se aos parâmetros:

  • email — E-mail do Cliente
  • name — Nome do Cliente

Request e Response exemplo

curl --request POST \
     --url 'https://api.iugu.com/v1/customers?api_token=<seu-api_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "email": "[email protected]",
  "name": "Nome do Cliente"
}
'
{
  "id": "CAD4999627F8418989606750C82FBB6D",
  "email": "[email protected]",
  "name": "Nome do Cliente",
  "notes": null,
  "created_at": "2024-05-28T14:30:55-03:00",
  "updated_at": "2024-05-28T14:30:55-03:00",
  "cc_emails": null,
  "cpf_cnpj": null,
  "zip_code": null,
  "number": null,
  "complement": null,
  "phone": null,
  "phone_prefix": null,
  "custom_variables": [],
  "payment_methods": [],
  "default_payment_method_id": null,
  "proxy_payments_from_customer_id": null,
  "city": null,
  "state": null,
  "district": null,
  "street": null
}

2. Cobrar

Utilize o endpoint Cobrança Diretav1/charge. Preencha os parâmetros:

  1. method = bank_slip
  2. Do objeto items:
    1. description, quantity e price_cents
  3. Do objeto payer
    1. cpf_cnpj, name e email

Request e Response exemplo

curl --request POST \
     --url 'https://api.iugu.com/v1/charge?api_token=<seu-api_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "payer": {
    "cpf_cnpj": "113.436.750-30",
    "name": "Nome do Cliente",
    "email": "[email protected]"
  },
  "items": [
    {
      "description": "Descrição do Item",
      "quantity": 1,
      "price_cents": 1000
    }
  ],
  "method": "bank_slip"
}
'
{
  "success": true,
  "url": "https://checkout.iugu.com/invoices/9d0268cf-8366-4133-b274-dd90ba7ff208-68c2?bs=true",
  "pdf": "https://checkout.iugu.com/invoices/9d0268cf-8366-4133-b274-dd90ba7ff208-68c2.pdf",
  "identification": "00000000000000000000000000000000000000000000000",
  "invoice_id": "9D0268CF83664133B274DD90BA7FF208"
}

zip_code

O parâmetro zip_code do objeto address quando preenchido, será procurado pela iugu o endereço (logradouro e número) correspondente a esse dado. No entanto, é importante observar que alguns números de CEP não possuem informações detalhadas fornecidas pelos Correios, especialmente em cidades pequenas que utilizam um único CEP para todo o município.

Nesses casos, a emissão do boleto pode ser recusada pelo banco, resultando em um erro. Portanto, é essencial validar na sua aplicação se as informações de endereço do cliente estão corretas.


Multas, juros e/ou pro rata

Se precisa adicionar multas, juros e/ou Pro rata em sua fatura, utilize o endpoint Criar Faturav1/invoices.


Sequência de Chamadas