method: "voucher" when the customer will pay outside a card or Pix flow through a local payment instruction, bank-transfer reference, redirect, or payable document.
voucher is the public Pagou method. The available local payment option depends on the account setup, currency, and country. Do not send local option names such as boleto, spei, mercadopago, webpay, or codi to the transactions API.
Regional meaning
Availability depends on the account’s enabled countries, currencies, and payment methods. If the selected country and currency are not enabled, payment creation is rejected.
Create the transaction
Create a voucher payment withPOST /v2/transactions.
amount and product price use the smallest unit of the selected currency. For BRL and MXN, send cents/centavos.
For LATAM voucher payments, send buyer.document and buyer.address.country whenever possible. Some SPEI configurations can create the payment without a document, but most voucher/bank-transfer options validate the document type for the selected country.
Do not include token. Card tokens are only valid for method: "credit_card".
Accepted document types
Use these values inbuyer.document.type when the buyer is paying with method: "voucher". The country is read from buyer.address.country when present; otherwise Pagou can infer a primary country from currency.
This table lists the document types accepted by the API validation layer. Payment availability for each country still depends on the company’s enabled payment setup.
Present the instructions
The transaction response exposes the normalizedvoucher object.
voucher.url is always null and the
CLABE in voucher.barcode is the payment instruction. Other currencies keep their URL when the
local payment option provides one.
Fields are nullable because local payment options use different instruction formats. Build your checkout to display every field that is present instead of requiring one fixed Boleto-only shape.
Delayed instruction updates
Some local payment options return all voucher data in the create response. Others returnstatus: "pending" first and deliver the voucher fields through a webhook shortly after.
Use this sequence:
- Create the transaction with
method: "voucher". - If
voucher.url,voucher.digitable_line, orvoucher.barcodeis present, show it immediately. - Subscribe to payment webhooks and update the customer-facing page when the same transaction receives voucher instructions.
- Reconcile with
GET /v2/transactions/{id}if your worker missed a webhook or if the customer refreshes the checkout.

