v1

latestOpenAPI 3.1.0Copyright Pismo2026-07-247702,7523.1 MB
Bank slip

Pay bank slip

In Brazil, bank slips, known as Boleto Bancarios or simply Boletos in Portuguese, are a popular payment method for various services, bills, and purchases. When a payment needs to be made, the recipient (such as a business or service provider) generates a Boleto with the necessary payment details, such as the recipent's information, the payment amount, due date, barcode, and other relevant information. Pismo works with BTG Pactual, Celcoin, and Itaú to implement Boleto payments. In the future, Pismo may work with additional financial companies. This endpoint generates the following events:

  • Authorization created - This event contains bank slip information (beneficiary name and document number, digitable line, amount, payment date, interest/fine and discount (if any) in the metadata field.
  • Financial bank slip status changed - Before clearing, a bank slip's status is PAID. After clearing, Pismo changes its status to SETTLED.
  • Integrated payments financial reconciliation- This event is generated after the transaction has been cleared and accounts debited or credited. If x-skip-reconciliation is true or the provider is JD Consultores, this event is not generated.<br> See Bank slips for more information.<br> Important: You need to call Validate bank slip before calling this endpoint and pass the external_authorization field value if it is returned from that call here.
post/v1/bankslips/pay

Headers

Authorizationstring required

Account token. Getting an account token requires you call the Server login endpoint with an account ID. Tokens can expire quickly, which can result in an <b>Unauthorized</b> message. Enter this field under AUTHENTICATION.

Idempotency-keystring required

A UUID (without hyphens) to ensure the operation remains idempotent, allowing for operation repetition without causing unintended effects or duplication. Identifies the transaction on future events.

Request body

account_idinteger required

Pismo Platform Account ID.

amountnumber required

Amount to pay.

currency_codestring

ISO 4217 currency code. Can be either numeric or alphabetic.

external_authorizationstring

External authorization. Some providers return this value to the /v1/bankslips/validate endpoint. If returned, this value must be passed on to a bank slip payment request. Some providers return this to a Validate bank slip call. If returned, you must pass it in a Pay bank slip endpoint call.

Example request

{
  "account_id": 7989342,
  "amount": 100,
  "bankslip": {
    "type": 1,
    "bar_code": "22323423423423423",
    "digitable_line": "23792374039002121400385000334004688970000050227",
    "due_datetime": "2022-08-15T00:00:00.000Z",
    "original_amount": 100
  },
  "currency_code": "BRL",
  "external_authorization": "123456"
}

Response

Accepted

account_idinteger

Pismo Platform Account ID.

amountnumber

Amount paid.

authorization_idinteger

Pismo Platform Account ID.

bar_codestring

Bar code encoding bank slip information such as the bank code, currency code, check digit, due date, amount, and beneficiary information.

currency_codestring

ISO 4217 currency code. Can be either numeric or alphabetic.

customer_namestring

Customer name.

digitable_linestring

Digitable line. On a Brazilian bank slip, the digitable line contains numerical payment information encoding details like the payment amount, due date, beneficiary information, and other transaction-specific data.

due_datetimestring date-time

Due datetime. ISO 8601 format - yyyy-MM-ddTHH:mm:ss.SSSSSSSSSZ.

external_idstring

Client-generated ID for client tracking and monitoring.

payment_datetimestring date-time

Payment datetime.

statusstring

Bank slip status. Possible values are PAID, PROCESSING, SETTLED, ERROR, and TIMEOUT.

additional_infostring

Additional information about the bank slip payment, including provider-specific details.

Example response

{
  "account_id": 12434,
  "amount": 100,
  "authorization_id": 12434,
  "bar_code": "22323423423423423",
  "currency_code": "BRL",
  "customer_name": "Customer Name",
  "digitable_line": "23792374039002121400385000334004688970000050227",
  "due_datetime": "2021-05-25T00:00:00.000Z",
  "external_id": "12434",
  "payment_datetime": "2021-05-25T00:00:00.000Z",
  "status": "PROCESSING",
  "additional_info": "NumCtrl = 123456"
}