Accept a Boleto Bancário voucher payment via the Adyen API and handle its due-date expiration
domain: docs.adyen.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Call /payments with the shopper's Boleto payment method details (Brazilian shopper, BRL amount, and the required shopper name/tax ID fields); Adyen returns resultCode PresentToShopper with an action of type voucher
Read action.downloadUrl for the downloadable Boleto PDF and action.reference for the barcode/typeable line to present to the shopper
Surface action.expiresAt (the Boleto's due date) and action.totalAmount to the shopper so they know exactly how much to pay and by when — Boleto is paid at a bank, lottery house, or banking app, not instantly
Rely on Adyen's AUTHORISATION webhook (matched via your merchant reference) to learn whether and when the shopper actually paid — a PresentToShopper result is not a completed payment
If the due date passes unpaid, treat the payment as expired and generate a new Boleto rather than attempting to extend the original voucher's expiresAt after the fact
Known gotchas
Boleto is BRL/Brazil-only and can settle several business days after the shopper actually pays at a bank, so downstream fulfillment logic needs a materially longer pending window than card payments
A PresentToShopper result code is not an authorization outcome — code that only checks the initial /payments response instead of waiting on the asynchronous webhook will mishandle every Boleto attempt
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?