Skip to main content

Solicitação de pagamento de Boleto Bancário com Autenticação de Dois Fatores

Este endpoint permite realizar a solicitação de pagamento de boletos bancários. A solicitação deve ser realizado após a consulta, utilizando as informações retornadas na mesma, para garantir o funcionamento correto do fluxo evitando falhas durante o processo.

Boleto bancário

É o boleto bancário convencional (linhas digitáveis não iniciadas com dígito 8). Possui registro na Câmara Interbancária de Pagamento (CIP/Núclea) e pode ser pago em instituições financeiras e de pagamento autorizadas a funcionar pelo Banco Central.

Request

Request Endpoint

ENDPOINT
/account/ACCOUNT_KEY/payment/bank_slip
MÉTODO
POST

Request Path Params

CampoTipoDescriçãoCaracteres
account_key *uuid4Chave única de identificação da conta.36
Request Body: Solicitação de boleto bancário com linha digitável
{
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"digitable_line": "00190000090361557400500000024174396700000991000",
"payment_amount": 1156.8,
"tfa_info": {
"approver_document_number": "98765432100",
"contact_type": "email"
}
}
Request Body: Solicitação de boleto bancário com código de barras
{
"request_control_key": "b6804f32-101e-4702-8fbc-c2dbc4c2caec",
"barcode": "00190000090361557400500000024174396700000991000",
"payment_amount": 1156.8,
"tfa_info": {
"approver_document_number": "98765432100",
"contact_type": "email"
}
}

Body Params

CampoTipoDescrição
request_control_key *uuid4Chave única de identificação da request do cliente.
barcodestringCódigo de barras.
digitable_linestringLinha digitável.
payment_amount *numberValor a ser pago.
tfa_info *objectObjeto contendo o documento da pessoa aprovadora da conta e a forma de contato.
Aviso

O payment_amount deve sempre igual ao total_amount retornado na consulta do boleto bancário caso o pagamento parcial não seja permitido para o boleto bancário. Para títulos em que o pagamento parcial é permitido, o cliente pode escolher o payment_amount, desde que a soma do mesmo com o registered_payment_amount do boleto bancário não seja superior que o total_amount.

Objeto tfa_info

CampoTipoDescrição
approver_document_number*stringNúmero de documento da pessoa aprovadora da conta.
contact_type*stringForma de contato com a pessoa aprovadora da conta, podendo ser sms ou email

Response

Success Response

STATUS
201
Response Body: Pagamento pendente de aprovação de dois fatores
{
"payment_key":"c4325104-d60b-44f3-aae4-49155564a2ea",
"request_control_key":"b713b2f6-2f48-4d18-b0c9-7186e4edf189",
"payer_name":"COOPERATIVA INDUSTRIAL MURILO",
"payer_document_number":"00037025000160",
"source_account_key":"6dc89d57-fac7-4643-b151-cd2ca0a7f68f",
"transaction_key":"4e80070a-a0bb-4be2-8178-55fbd73a3704",
"transaction_revert_key":null,
"paid_amount":1050.1,
"payment_date":"2024-04-03",
"payment_type":"bank_slip",
"bank_slip": {
"bank_slip_key":"95080ffd-3ac5-48d7-b3fe-659e4aaba81a",
"barcode":"00193967000009910000000003615574000000002417",
"digitable_line":"00190000090361557400500000024174396700000991000",
"payer_name":"COOPERATIVA TESTE",
"payer_document_number":"00037025000160",
"beneficiary_name":"TESTE EQUIPAMENTOS E SERVICOS LTDA",
"beneficiary_trading_name":"TESTE EQUIPAMENTOS E SERVICOS LTDA",
"beneficiary_document_number":"52069937000117",
"beneficiary_bank_ispb":"00000000",
"guarantor_name":null,
"guarantor_document_number":null,
"factual_expiration_date":"2024-03-29",
"expiration_date":"2024-03-29",
"partial_payment_indicator":"allowed",
"partial_payment_number":99,
"registered_payment_number":0,
"registered_payment_amount":9029.0,
"nominal_amount":9910.0,
"total_amount":10129.1,
"rebate_amount":0.0,
"discount_amount":0.0,
"fine_amount":0.0,
"interest_amount":219.1
},
"collection_slip":null,
"payment_status":"pending_2fa_approval"
}

Response Body Params

CampoTipoDescrição
payment_key *uuid4Chave única de identificação do pagamento.
request_control_key *uuid4Chave única de identificação da request do cliente.
payer_name *stringNome do pagador efetivo.
payer_document_number *stringNúmero do documento do pagador efetivo (CPF/CNPJ).
source_account_key *uuid4Chave da conta debitada.
transaction_key *uuid4Chave da transação do pagamento.
transaction_revert_keyuuid4Chave da transação de reversão do pagamento.
paid_amount *numberValor pago efetivamente.
payment_date *stringData do pagamento.
payment_type *enumTipo do pagamento.
bank_slipobjectBoleto bancário.
collection_slipobjectFatura de recolhimento.
payment_status *enumStatus do pagamento.

Enumeradores payment_type

EnumeradorTipoDescrição
bank_slipstringBoleto bancário
collection_slipstringFatura de recolhimento
Aviso

O enumerador collection_slip não se aplica para o fluxo de boletos bancários, assim como o objeto collection_slip que sempre será nulo.

Enumeradores payment_status

EnumeradorTipoDescrição
pending_2fa_approvalstringpendente de aprovação de dois fatores

Objeto bank_slip

CampoTipoDescrição
barcode *stringCódigo de barras.
digitable_line *stringLinha digitável.
payer_name *stringNome do pagador.
payer_document_number *stringNúmero do documento do pagador (CPF/CNPJ).
beneficiary_name *stringNome do beneficiário.
beneficiary_trading_namestringNome fantasia do beneficiário.
beneficiary_document_number *stringNúmero do documento do beneficiário (CPF/CNPJ).
beneficiary_bank_ispb *stringCódigo ispb do banco do beneficiário.
guarantor_namestringNome do sacador avalista.
guarantor_document_numberstringNúmero do documento do sacador avalista (CPF/CNPJ).
factual_expiration_date *stringData de vencimento real.
expiration_date *stringData de vencimento original.
partial_payment_indicator *enumIndicador de pagamento parcial.
partial_payment_numberstringQuantidade de pagamentos parciais.
registered_payment_numberstringQuantidade de pagamentos registrados.
registered_payment_amountstringValor total de pagamentos registrados.
nominal_amount *numberValor original.
total_amount *numberValor total.
rebate_amount *numberValor do abatimento.
discount_amount *numberValor do desconto.
fine_amount *numberValor da multa.
interest_amount *numberValor do juros.

Enumeradores partial_payment_indicator

EnumeradorTipoDescrição
allowedstringPermitido
not_allowedstringNão permitido

Error Response

STATUS
4XX
Response Body
{
"title": "Título",
"description": "Description in english",
"translation": "Descrição em português",
"code": "Código"
}
Código HTTPCódigo QITítuloDescrição (eng)Descrição (pt-br)
400BIP000001Bad RequestThe barcode or digitable line must have 44 or 47 characters.O código de barras ou linha digitável deve ter 44 ou 47 caracteres.
400BIP000002Bad RequestThe bill sent does not correspond to a bank slip.A conta enviado não corresponde a um boleto bancário.
400BIP000003Bad RequestThe digitable line sent is invalid.A linha digitável enviada é inválida.
404BIP000004Not FoundThe bank slip was not found.O boleto não foi encontrado.
400BIP000005Bad RequestIt was not possible to consult the bank slip at this time. Please try again in a few minutes.Não foi possível consultar o boleto neste momento. Por favor, tente novamente em alguns minutos.
400BIP000006Bad RequestBank slip already written offBoleto já baixado
400BIP000007Bad RequestBank slip blocked for paymentBoleto bloqueado para pagamento
400BIP000008Bad RequestBank slip already paidBoleto já pago
400BIP000009Bad RequestInvalid bank slip. Please consult issuing bankBoleto inválido. Favor consultar banco emissor
403BIP000010ForbiddenUser is not allowed to do this actionUsuário não tem autorização para fazer essa ação
404BIP000011Not FoundThe source account key was not found.A chave da conta de origem não foi encontrada.
400BIP000012Bad RequestIt was not possible to consult the source account at this time. Please try again in a few minutes.Não foi possível consultar a conta de origem neste momento. Por favor, tente novamente em alguns minutos.
400BIP000013Bad RequestThe source account is closed.A conta de origem está fechada.
400BIP000014Bad RequestThe source account is blocked.A conta de origem está bloqueada.
400BIP000015Bad RequestPayment date is greater than the maximum payment date.A data de pagamento é maior que a data máxima de pagamento.
400BIP000016Bad RequestPayment date is smaller than the calculation date.A data de pagamento é menor que a data de cálculo.
400BIP000017Bad RequestInvalid payment amount.Valor de pagamento inválido.
400BIP000018Bad RequestPartial payment is not allowed.Pagamento parcial não é permitido.
400BIP000019Bad RequestThe payment amount is greater than the available amount.O valor do pagamento é maior que o valor disponível.
400BIP000020Bad RequestAll partial payments for this bank slip have already been made.Todos os pagamentos parciais deste boleto já foram realizados.
400BIP000024Bad RequestRequest control key already exists.Chave de controle da requisição já existe.
403BIP000052ForbiddenGiven document number does not belong to an approver for this accountNúmero de documento enviado não pertence a um aprovador da conta
400BIP000053Bad RequestError getting approver dataErro ao obter dados do aprovador
400BIP000054Bad RequestTFA info requiredInformações de TFA necessárias
400BIP000055Bad RequestError sending verification tokenErro ao enviar token de verificação
400BIP000065Bad RequestPayment verification time window exceeded.Janela de tempo de verificação de pagamento excedida.

Ambiente de Sandbox

Em nosso ambiente de sandbox, disponibilizamos linhas digitáveis mockadas para a simulação de pagamentos bem-sucedidos e testes de cenários de erro.

Linha digitável
00190000090361557400500000024174396700000991000
00190000090282802601919212747174596760001294161
23793390014000000455277000249001596900000103995
75691434020137513680900001040013196770002417240
21390001171200000570700168167484796770000148206
34191090083273252027893634770007296690012513600
42297048060005815702500130494123896770000239491
07090010287045349010776686070590896770001160123
74891123702849020818918378871083196690000050000
23792374119000209350986000372408496610000122810