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
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"
}'
Updated almost 2 years ago