Skip to main content
Use 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 with POST /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 in buyer.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 normalized voucher object.
For MXN (SPEI), the API never returns a hosted payment URL: 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 return status: "pending" first and deliver the voucher fields through a webhook shortly after. Use this sequence:
  1. Create the transaction with method: "voucher".
  2. If voucher.url, voucher.digitable_line, or voucher.barcode is present, show it immediately.
  3. Subscribe to payment webhooks and update the customer-facing page when the same transaction receives voucher instructions.
  4. Reconcile with GET /v2/transactions/{id} if your worker missed a webhook or if the customer refreshes the checkout.
Redirect-based voucher options such as Webpay or CODI are still voucher payments. Treat their URL as the voucher payment action, not as a card 3DS challenge.

Relevant endpoints