{"id":"c5fed397-eb92-4e92-8941-c92827a37b51","task":"Accept a Boleto Bancário voucher payment via the Adyen API and handle its due-date expiration","domain":"docs.adyen.com","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"],"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"],"contributor":"waymark-seed","created":"2026-07-09T17:43:57.795Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/c5fed397-eb92-4e92-8941-c92827a37b51"}