This content complements the Boleto Creation Guide and the API Reference.
BolePix
Does Trio’s boleto have a Pix QR Code?
Yes. Every boleto created by Trio also has an embedded Pix QR Code, allowing the payer to choose between traditional boleto payment or payment via Pix.Is the Pix copy-and-paste code returned when the boleto is created?
Not directly. When creating a boleto viaPOST /banking/cashin/boletos, the Pix QR Code hash is not returned in the creation response.
To get the Pix data, use the id returned in data.id and make a follow-up request:
How do I identify if a boleto was paid via Pix?
When the boleto is paid through the embedded Pix QR Code, the payment is sent via thecollecting_document webhook with:
Best practice: use the type field received in the webhook to identify the payment origin, and reconcile using the transaction identifiers.
Payer data
Is the address provided in counterparty validated by Trio?
Address data is required to fill in the fields required by the boleto schema, but Trio does not validate whether the provided address actually belongs to the payer or corresponds to a real, existing address.
The address fields include:
addressdistrictcitystatepostal_code
Best practice: even though the address isn’t validated, we recommend sending real, accurate data whenever available.
Boleto status
What are the main statuses of a boleto?
The boleto cycle follows Trio’s document flow:expired when it reaches its final payment deadline.
Which status indicates the boleto was paid?
Thesettled status indicates the boleto has been paid and settled.
Don’t treat created or confirmed alone as payment confirmation.
What happens when the boleto reaches expiration_date?
When expiration_date is reached, the boleto moves to the expired status.
From that point on, the boleto no longer accepts payments.
Webhooks
Which webhook reports a boleto payment?
Payment is communicated through thecollecting_document webhook.
When the boleto is paid via the Pix QR Code, the type received is:
Does the external_id provided at boleto creation appear in the webhook?
Yes. The external_id provided when creating the boleto is returned in the webhooks related to the document.
Best practice: use external_id as a reference to your own system to make it easier to reconcile the transaction in Trio with the order or charge in your platform.
Is there a specific webhook for when the boleto becomes due?
No. Trio does not send a specific event just to report that the boleto has reached itsdue_date.
The integrator should handle this according to their own business needs.
When the boleto reaches expiration_date, its status will change to expired.
Do I need to track boleto expiration in my system?
If your application needs to perform some action when the boleto expires, yes. Since there’s no dedicated expiration webhook, we recommend that your system keep track of the dates or query the document’s status when needed.Due date and expiration
What’s the difference between due_date and expiration_date?
The two fields represent different moments:
due_date: the boleto’s due date.expiration_date: the final date by which the boleto can still be paid.
Can I pay a boleto after its due_date?
Yes. The boleto can continue to accept payments after the due date, as long as it hasn’t reached expiration_date yet.
After due_date, any configured charges for the boleto may apply, such as interest and late fees.
What happens after expiration_date?
After expiration_date, the boleto becomes expired and moves to:
Changing the due date
Can I change a boleto’s due date?
Yes. The due date can be updated via:due_detail.
Does the barcode change when I update the due date?
No. Changing the due date updates the due date data (due_detail), but the barcode does not change.
The Pix QR Code also stays the same.
Can I change the due date of an overdue boleto?
Yes. A boleto that has passed itsdue_date but hasn’t expired yet can have its due date updated.
Can I change a boleto that has already expired?
No. Boletos withexpired status cannot have their due date updated.
Best practice: if your operation allows renegotiation, make the update before the boleto reaches its expiration_date.
Refunds and returns
Can I use the refund endpoint for a boleto?
It depends on how the boleto was paid. The endpoint:/refund can be used.
How does refund work when the boleto is paid via Pix?
The flow is:Boleto URL
Does the boleto URL require authentication?
No. The URL returned by the API is public and does not require authentication to access the document. This allows you to use the link directly in:- emails;
- checkout;
- applications;
- order tracking pages.
Best practice: store the boleto_url along with the boleto data to make it easier to access the document later.
Costs
Is there a charge for a boleto that was issued but not paid?
Pricing and billing conditions should be confirmed directly with Trio’s sales team. This is especially important for operations with high issuance volume or installment books (carnês), where several installments may be generated in advance.Installment books (carnês) and batch issuance
Can I issue multiple boletos for the same purchase?
Yes. There’s no additional limit on the number of boletos issued. The main restriction to keep in mind is the rate limit on the creation route. This allows you to, for example, create multiple installments of a carnê for the same purchase.What’s the rate limit for creating boletos?
The boleto creation route has a standard rate limit of:Does each boleto in a carnê need a different external_id?
Yes. Each new boleto must have a unique external_id.
For example:
Best practice: include some reference to the charge and the installment in the external_id. This makes it simpler to relate the boleto to the order within your system.
Integration best practices
What information should I store after creating a boleto?
We recommend storing, at minimum:- the boleto/qrcode
idat Trio; external_id;due_date;expiration_date;boleto_url;
What should I consider when implementing boleto?
In summary:- Consider both payment methods: typeable line/barcode and Pix.
- Treat
settledas a paid boleto. - Treat
expiredas a boleto that can no longer be paid. - Don’t confuse
due_datewithexpiration_date. - Track due date and expiration in your system when you need to trigger specific actions.
- Use a unique
external_idfor each boleto. - Respect the rate limit of 60 requests per second.
- Implement reconciliation using the identifiers received in webhooks.
- Store the
boleto_urlto make it easier to access the document. - Identify payments with
type = pix_boletowhen the boleto is paid via Pix.
More information
For detailed implementation information, see:Esta página também está disponível em português: FAQ — Boleto

