Virtual IBANs
Introduction
A Virtual IBAN (vIBAN) operate as routing identifiers within a two-tier account structure, where master IBANs maintain actual balances while virtual IBANs serve as payment reception endpoints. Incoming payments directed to virtual IBANs are automatically routed to the associated master IBAN. The virtual IBAN reference and associated metadata are preserved throughout the transaction flow and appear in master account statements. Virtual IBANs maintain zero balances and function exclusively for payment reception and routing.
To subscribe to the vIBAN product, contact GuruPay client care team at [email protected].
Core Concepts
GuruPay implements vIBANs using a two-tier account structure:
┌──────────────────────┐
│ Virtual IBAN A │
Customer ─┤ Virtual IBAN B ├──► Master IBAN (real balance)
│ Virtual IBAN C │
└──────────────────────┘Master IBAN Holds the actual account balance.
Virtual IBANs Hold no balance, serve as routing endpoints, and forward all funds to the master IBAN.
All metadata (vIBAN reference, owner information, etc.) is preserved in master account statements.
vIBAN Capabilities
Receive payments
✔
Payments routed automatically to master IBAN with metadata preserved.
Send payments “from” a vIBAN
✔
Funds deducted from master IBAN; recipient sees vIBAN sender info.
Zero-balance vIBAN model
✔
vIBANs never hold funds; all balances reside in master account.
Webhook-based asynchronous creation
✔
201 returned immediately; webhook sent when vIBAN becomes active.
Echo Service (Sandbox-only)
✔
Requires SEPA Instant only for testing, not a production capability.
Virtual IBAN Creation
Before creating vIBANs, you need to identify your master IBAN's UUID.
Use the following endpoint to retrieve a list of all accounts.
Endpoint
In the response, look for:
"account_type": "virtual_parent"This account’s
"uuid"is your master_account_uuid.
vIBAN creation is asynchronous:
API returns
201 Createdimmediately.GuruPay sends a webhook when the vIBAN is ready. The webhook contains your new vIBAN details.
Important: Set up webhook handling to receive the account creation confirmation.
Create new virtual account
Authentication using a Bearer token.
Universally Unique Identifier (UUID) as defined by RFC 4122.
e1f8a3b1-7d6c-4e9a-9b2e-3f8d1a9c5f2gPattern: ^[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}$Data required to create a new virtual account.
The UUID of the master account.
d8f7b4a0-6e3c-4b5a-8d1e-2f7c9a8b4e1fPerson legal type: legal or natural
legalPossible values: External ID to be used to track virtual IBAN
bbf12075-90a8-462f-bc73-7c10cec42147Virtual account creation has been initiated.
Unauthorized.
Unprocessable.
No content
Retrieve vIBAN Details
Retrieve full information about your newly created vIBAN so you can begin receiving payments, initiating outgoing transfers, and managing the account lifecycle.
Endpoint
The response will list all your accounts. Look for:
"account_type": "virtual""status": "created""iban"— share with customers."uuid"— store for management.parent_uuid— links to your master account.
Receiving Payments
Once your vIBAN is active, payments work automatically:
Customer sends payment to your vIBAN.
GuruPay routes payment to your master IBAN instantly.
Balance always shows 0.00 as funds route to your master IBAN balance.
Transaction details include vIBAN reference for easy identification.
Sending Payments
You can initiate outgoing payments directly from your vIBANs using the GuruPay API. When you send a payment from a vIBAN, the funds are deducted from your master account while the payment appears to originate from the vIBAN.
Endpoint
Payment Flow:
You initiate a payment using vIBAN as the sender.
Funds are deducted from the linked master account balance.
Payment is sent with vIBAN owner information as the sender.
Recipient sees the vIBAN details (not your master account).
Key Parameters:
Sender Account: Use your vIBAN UUID.
Funds Source: Automatically deducted from master account.
Sender Information: vIBAN owner details (as registered).
Closing Virtual IBAN
When you request to close a vIBAN, the API immediately returns a 201 Accepted response while the closure is processed asynchronously. Once closed, the vIBAN stops accepting incoming payments, and any future transfers to it will be rejected. The vIBAN cannot be reactivated, but all historical transaction data remains available for reporting and reconciliation.
Warning: Once closed, the vIBAN cannot be reactivated. Create a new one if needed.
Close virtual account
Authentication using a Bearer token.
Universally Unique Identifier (UUID) as defined by RFC 4122.
e1f8a3b1-7d6c-4e9a-9b2e-3f8d1a9c5f2gPattern: ^[a-zA-Z0-9]{8}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{4}-[a-zA-Z0-9]{12}$Data required to close virtual account.
The UUID of the virtual account.
d8f7b4a0-6e3c-4b5a-8d1e-2f7c9a8b4e1fClose virtual account has been initiated.
Unauthorized.
Unprocessable.
No content
Verification of Payee (VoP) Support
vIBANs are fully compatible with Verification of Payee checks. When your vIBAN is created, GuruPay registers it with the European Payments Council (EPC) database using dual ownership information:
Your details (as the account client).
Virtual owner details (as provided during creation).
This dual registration ensures that when someone initiates a payment to your vIBAN, the VoP verification will return a MATCH response regardless of whether the sender uses:
Your company information.
The virtual owner information you specified.
Last updated
Was this helpful?
