Skip to main content

Request boleto payment (2FA)

This endpoint allows the payment request for boletos. The request should be made after a consultation, using the returned information to ensure the correct flow and avoid failures during the process.

Boleto

This is the conventional boleto (with digitable lines not starting with the digit 8). It is registered with the Interbank Payment Clearinghouse (CIP/Núclea) and can be paid at financial institutions and payment institutions authorized to operate by the Central Bank.

Request

Request Endpoint

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

Request Path Params

FieldTypeDescriptionCharacters
account_key *uuid4Unique account identification key.36
Request Body: Boleto request with digitable line
{
"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: Boleto request with barcode
{
"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

FieldTypeDescription
request_control_key *uuid4Unique identification key for the client's request.
barcodestringBarcode.
digitable_linestringDigitable line.
payment_amount *numberAmount to be paid.
tfa_info *objectObject containing the document of the account approver and the means of contact.
Warning

The payment_amount must always be equal to the total_amount returned in the boleto query if partial payment is not allowed for the boleto. For titles where partial payment is allowed, the client may choose the payment_amount, as long as its sum with the boleto's registered_payment_amount does not exceed the total_amount.

Object tfa_info

FieldTypeDescription
approver_document_number*stringDocument number of the account approver.
contact_type*stringMeans of contact with the account approver, can be sms or email

Response

Success Response

STATUS
201
Response Body: Payment pending two-factor approval
{
"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,
"expiration_date":"2024-03-29",
"max_payment_data": "2026-03-29",
"partial_payment_indicator":"allowed",
"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

FieldTypeDescription
payment_key *uuid4Unique payment identification key.
request_control_key *uuid4Unique identification key for the client's request.
payer_name *stringName of the effective payer.
payer_document_number *stringDocument number of the effective payer (CPF/CNPJ).
source_account_key *uuid4Key of the debited account.
transaction_key *uuid4Payment transaction key.
transaction_revert_keyuuid4Payment reversal transaction key.
paid_amount *numberAmount effectively paid.
payment_date *stringPayment date.
payment_type *enumPayment type.
bank_slipobjectBoleto.
collection_slipobjectCollection invoice.
payment_status *enumPayment status.

Enumerators payment_type

EnumeratorTypeDescription
bank_slipstringBoleto
collection_slipstringCollection invoice
Warning

The enumerator collection_slip does not apply to the boleto flow, and the collection_slip object will always be null.

Enumerators payment_status

EnumeratorDescription
pending_2fa_approvalpending two-factor approval

Object bank_slip

FieldTypeDescription
barcode *stringBarcode.
digitable_line *stringDigitable line.
payer_name *stringPayer's name.
payer_document_number *stringPayer's document number (CPF/CNPJ).
beneficiary_name *stringBeneficiary's name.
beneficiary_trading_namestringBeneficiary's trade name.
beneficiary_document_number *stringBeneficiary's document number (CPF/CNPJ).
beneficiary_bank_ispb *stringISPB code of the beneficiary's bank.
guarantor_namestringName of the guarantor.
guarantor_document_numberstringGuarantor's document number (CPF/CNPJ).
expiration_date *stringDue date.
max_payment_date *stringMaximum payment date.
partial_payment_indicator *enumPartial payment indicator.
registered_payment_amountstringTotal registered payment amount.
nominal_amount *numberOriginal amount.
total_amount *numberTotal amount.
rebate_amount *numberRebate amount.
discount_amount *numberDiscount amount.
fine_amount *numberFine amount.
interest_amount *numberInterest amount.

Enumerators partial_payment_indicator

EnumeratorTypeDescription
allowedstringAllowed
not_allowedstringNot allowed

Error Response

STATUS
4XX
Response Body
{
"title": "Título",
"description": "Description in english",
"translation": "Description in portuguese",
"code": "Código"
}
HTTP CodeQI CodeTitleDescription (eng)Description (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.

Sandbox environment

In our sandbox environment, we provide mocked digitable lines for simulating successful payments and testing error scenarios.

Digitable line
00190000090361557400500000024174396700000991000
00190000090282802601919212747174596760001294161
23793390014000000455277000249001596900000103995
75691434020137513680900001040013196770002417240
21390001171200000570700168167484796770000148206
34191090083273252027893634770007296690012513600
42297048060005815702500130494123896770000239491
07090010287045349010776686070590896770001160123
74891123702849020818918378871083196690000050000
23792374119000209350986000372408496610000122810