Developer Docs
English
English
Invoice collection through Open Banking (PSD2), synchronous flow with collection URL and associated document.
PagaFactu is Zertiban's product for invoice collection through Open Banking (PSD2). It lets you generate a collection flow from an invoice and synchronously obtain the resources needed to execute it: the collection URL and the associated document in different formats.
It is designed to integrate directly with ERPs or invoicing systems, simplifying collection generation and the end-customer experience.
For the shared concepts of flows and operations, structure, states and transitions, see Flows and operations.
PagaFactu offers three integration options depending on the level of control over collection generation and the end customer's document experience:
| Option | Description |
|---|---|
| Collection URL only | Only the link the end customer will use to complete the transfer is returned |
| URL + PDF with QR generated by Zertiban | The collection URL is returned together with a PDF automatically generated by Zertiban that includes the transfer details and a QR code linking to the collection URL |
| URL + PDF with appended page | The client sends their own invoice as a PDF and Zertiban returns the collection URL together with the same document enriched by adding a single extra page at the end with the QR and link |
| Feature | Description |
|---|---|
| Immediate collection | Standard SEPA transfers (D+1) or instant (SCT Inst, in seconds) |
| Scheduled collection | Type FUTURE_PAYMENT with requestedExecutionDate (minimum 1 business day in advance) |
| PDF generation with QR | By setting generateDocument: true, Zertiban returns the PDF as base64 in the response |
| Enrichment via appended page | A single additional page is appended at the end of the client's document, including the collection QR and direct link |
| Expiration control | Configurable between 1 and 156 days via expirationOffset |
| Operation cancellation | PUT/flow/v1/operations/{operationUuid}/cancel available in CREATED or OPENED states (if no transactions are in progress) |
| Reconciliation via externalId | The business identifier (e.g. invoice number) travels through the entire flow and webhook events |
The client's system makes a single synchronous API call:
POST /flow/v1/flows/pagafactuThis call sends:
Zertiban responds immediately with:
Zertiban does not send communications to the end customer. The ERP is responsible for delivering the collection link through whichever channels it considers appropriate:
At this point, the ERP can send directly either:
The appended page is the same in all cases, since it is generated only once at flow creation and is part of the returned document, including the QR and the collection link.
The end customer accesses the flow in two equivalent ways:
Either way they reach the same collection experience hosted by Zertiban. Once inside:
CREATED → OPENEDThe customer is redirected to their online banking to complete Strong Customer Authentication (SCA). During this process they:
Once the bank confirms the operation, it transitions to the COMPLETED state and Zertiban emits the corresponding webhook:
{
"eventType": "OPERATION_COMPLETED",
"resource": {
"externalId": "INV-2026-001",
"status": "COMPLETED"
}
}The ERP receives the webhook and uses resource.externalId to:
Flow creation in PagaFactu is fully synchronous:
Zertiban does not communicate with the end customer. The client's system is responsible for:
Zertiban acts as the engine for collection flow generation and bank execution.