Scheduled & recurring scheduled Pix
Scheduled Pix lets you initiate a single Pix payment that settles on a future date (D+N) instead of the same day. The payer authorises the consent once; the amount is debited on the scheduled settlement date according to the rules agreed with the account holder.
Recurring scheduled Pix covers a series of future settlements from one
consent — daily, weekly, monthly, or on custom dates. Only one schedule
shape may be sent per payment (single, daily, weekly, monthly, or
custom). The OpenAPI contract enforces: the first settlement must be at
least D+1 calendar day from consent creation; you may schedule up to
60 installments; and the last installment must fall within two years
of consent creation (not from the first payment date).
These journeys reuse the same Open Finance initiation pattern as
Instant Pix: list participants, create a
consent, redirect the payer to the bank, then return to your redirectUri.
How the flow works
- Call
GET /api/v1/open-integration/participants/registeredto retrieve institutions enabled for your ITP and let the payer pick their bank. - Call
POST /api/v1/open-integration/consentswith a payment payload that includes ascheduledescribing the future date(s) or recurrence. The response includesredirectUrlfor bank authentication and consent approval. - After the payer finishes at the bank, they are redirected to your
redirectUriwithpaymentLinkIdin the query string — same behaviour as Instant Pix. Keep that URL registered and available (see Onboarding and Add a redirect domain). - Use
GET /api/v1/payments/requests/{paymentRequestId}with the returned request id to confirm consent state (CONSUMIDO) and each row inpayments[](PENDENTEuntil the settlement day, thenPAGOor an error state).
Flow diagram
On settlement day: webhook or active polling
When the calendar reaches each payment’s due date, Lina settles the Pix with the account holder. Your backend is not redirected again for that settlement. You learn the outcome in one of two ways:
- Webhook — If your sub-tenant has a payment webhook configured, Lina can
push status updates (for example when a scheduled installment moves to
PAGOor fails). Rely on idempotent handling and signature verification as documented for your integration. - Active polling — If you do not use webhooks, or as a back-up, call Get payment request, Get payment by ID, Get payment by external ID, or Get payment by TxID on or after the due date until each payment reaches a terminal status.
Cancellations
You can stop future work in two ways:
- Cancel all future payments under a consent — use Cancel consent payments to cancel every pending installment tied to that consent in one call.
- Cancel a single future installment — use Cancel payment with the specific payment id when you only need to remove one scheduled charge while leaving the rest of the recurrence in place.
Both endpoints require the CPF of the person responsible for the cancellation in the request body, as defined in the API reference.
Payment status values
The same status enums apply as for Instant Pix. Request-level status
reflects the consent; each row in payments[] has its own status through
the lifecycle (PENDENTE until settlement, then PAGO, REJEITADO,
CANCELADO, etc.).
Payment request status
| Status | Meaning |
|---|---|
PENDENTE | The consent has been created but the user has not authorized it yet. |
EM_PROCESSAMENTO | The consent is being processed by the account holder. |
CONSUMIDO | The consent was authorized and the payment(s) were submitted. This is the terminal happy-path status. |
EXPIRADO | The consent expired before the user authorized it. |
CANCELADO | The consent was cancelled before completion. |
ERRO_NA_DETENTORA | The account holder returned an error while processing the consent. |
ERRO | Generic error state during consent processing. |
Payment status
| Status | Meaning |
|---|---|
PENDENTE | The payment is scheduled but not settled yet (common for future-dated payments). |
EM_PROCESSAMENTO | The payment is being settled by the account holder. |
PAGO | The payment was settled successfully. This is the terminal happy-path status. |
REJEITADO | The account holder rejected the payment. |
EXPIRADO | The payment expired before settlement. |
CANCELADO | The payment was cancelled. |
ERRO_NA_DETENTORA | The account holder returned an error during settlement. |
ERRO | Generic error state during payment processing. |