Pagamento de conta via API

📘

O que você irá aprender com esse artigo?

  • Pré-requisitos para usar essa API
  • Pagamento de conta
  • Validar Pagamento

Caso de uso

“Desejo usar o saldo da minha conta iugu para pagar minha conta de luz.”

Diagrama de sequência

861

Pré-requisitos para usar essa API

Necessário utilizar token API para realizar a requisição. Para saber como gerar token API, acesse aqui.

Pagamento de conta

A API de pagamento de conta é usada para os clientes que desejam efetuar pagamento de água, energia, internet, telefone, gás e etc com o saldo da conta iugu.

Essa API só aceita pagamento de contas que possuem código de barras. O limite diário é de R$ 500,00 e o limite mensal de R$ 5.000,00.

Para realizar o pagamento de contas via API, basta realizar uma chamada do tipo POST na API de Criar pedido de pagamento informando o código de barras do boleto sem espaços ou pontos (barcode), o valor do pagamento (amount_cents), o valor total do boleto (document_amount_cents) e uma descrição (description).

Modelo de request

curl --location --request POST 'https://api.iugu.com/v1/payment_requests' \ 
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=888d70925daa518d7a9167cf843752b14c51fbf0-1638363189' \ 
--data-raw '{ 
    "barcode": "23791883000000010003381260006950025200005080", 
    "amount_cents": 5090, 
    "document_amount_cents": 5090, 
    "description": "Pagamento da internet" 
}'

O valor indicado no amount_cents e no document_amount_cents deve ser o mesmo, ou seja, não é possível fazer pagamento parcelado. Após solicitar o pagamento da conta o processamento poderá levar até 3 dias úteis, que é o prazo de compensação do boleto pelo banco. Quando compensado, o status será alterado de “pendente” para “efetivado”.

Validar Pagamento

Para validar se o pagamento foi realizado com sucesso ou se foi retornado algum erro é só realizar um POST na API de Valida Pagamento.

curl --location --request POST 'https://api.iugu.com/v1/payment_requests' \ 
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {{api_token in base64}}' \
--header 'Cookie: __cfruid=bb58bfc9c73aa04a65e6a18eb690d355b4b642fd-1638796572' \ 
--data-raw '{ 
    "barcode": "23793381286000476656896000050805388400000000500" 
}'