Verification of Payee
Verify beneficiary details before sending SEPA Credit Transfers to reduce fraud and payment errors.
Required for all SEPA Credit Transfers and Instant SEPA Credit Transfers under the European Instant Payments Regulation (IPR) published in March 2024, with a mandatory implementation deadline of October 9, 2025, for all Payment Service Providers (PSPs) in the Eurozone offering SEPA Credit Transfers.
Overview
Verification of Payee (VoP) is a new European service that checks beneficiary details against account holder information before initiating SEPA Credit Transfers and Instant SEPA Credit Transfers. This service aims to reduce payment fraud and errors by confirming that the beneficiary details match the account holder registered with the beneficiary's bank.
Key benefits
For your integration:
- Reduced disputes: Prevent misdirected payments and end-user support tickets.
- Better user experience: Build trust through transparent payment verification.
- Operational efficiency: Fewer payment failures and reversals to handle.
For your end-users:
- Fraud protection: Ensure the funds go to the intended recipient.
- Error prevention: Catch typos and formatting issues early.
- Payment confidence: Know transfers will reach the intended recipient.
Geographic scope and timeline
VoP applies to all countries in the SEPA region. Payment Service Providers (PSPs) have varying implementation timelines based on their location:
Payment Services Provider location | VoP mandatory date |
---|---|
🇪🇺 Eurozone | October 9, 2025 |
🌏 Non-Eurozone | January 9, 2027 |
The service is free of charge for Swan account holders as mandated by the regulation.
How VoP works
High-level flow
VoP happens before sending money to a beneficiary, through this process:
- VoP required: All SEPA Credit Transfers and Instant SEPA Credit Transfers must be verified before authorization.
- Verification request: Swan sends a VoP request to the beneficiary's bank (Responding PSP).
- Verification response: The beneficiary's bank responds with the verification result.
- Result displayed: VoP result and associated warnings are shown to the end-user.
VoP results
The beneficiary's bank can return one of four verification results. All results must be displayed to the end-user. Swan will systematically display the VoP result and warning on the SCA consent screen.
- ✅ Match
- ⚠️ Close match
- ❌ No match
- ❌ Verification not possible
Result: Exact match found between provided details and account holder information
End-user action: Safe to proceed with transfer
Mobile consent screen:
Result: Close match with suggested correction from beneficiary's bank
End-user action: Review suggested name correction before proceeding
Mobile consent screen:
Result: No match found between provided details and account holder information
End-user action: Verify beneficiary details carefully before proceeding
Mobile consent screen:
Result: IBAN verification failed. Check the IBAN format, try again, or contact the recipient's bank if the issue persists.
End-user action: Verify beneficiary details carefully before proceeding
Mobile consent screen:
Verification of Payee provides verification results so end-users can make informed decisions, but doesn't block payments from proceeding.
Standing Orders
VoP applies to Standing Orders with two key differences:
- Initial verification only: VoP happens at the initiation stage when creating the Standing Order
- Existing Standing Orders: Previously authorized Standing Orders don't need to be verified - only new Standing Orders created on or after October 9, 2025, will require VoP
Bulk payments
Company accounts can opt-out of receiving VoP on their bulk SEPA credit transfers through a dedicated upcoming mutation.
Integration flows for VoP
Swan provides two integration options based on your user experience (UX) needs and development limitations to ensure a compliant integration.
🟡 Option 1: Default verification
Swan automatically verifies beneficiary details when the end-user initiates a credit transfer
- No additional development required for single SEPA Credit Transfers.
- Swan displays VoP results and warnings in the consent screen.
- Best for: Quick compliance and existing integrations.
🟢 Option 2: Custom verification
Swan verifies beneficiary details on-demand using the verifyBeneficiary
mutation
- Complete control over VoP results presentation.
- Custom error handling and user guidance.
- Best for: Enhanced UX and bulk payment flows.
Supported payment types
Payment Type | 🟡 Option 1: Default | 🟢 Option 2: Custom | VoP requirements |
---|---|---|---|
Single Credit Transfers | ✅ Supported | ✅ Supported | Required |
Bulk Credit Transfers | ❌ Not Supported | ✅ Supported | Opt-out available for company accounts |
Standing Orders | ✅ Supported | ✅ Supported | Required in the initiation stage |
Option 1: Default verification
For single credit transfers, you don't have to do anything - Swan will run the VoP check at the initiation of the credit transfer and display the VoP result in the consent screen.
Option 1 is not available for Bulk Credit Transfers. For bulk credit transfers, use Option 2 or if you have company end-users, opt-out of VoP using the dedicated mutation.
Option 2: Custom verification
Call the verifyBeneficiary
mutation before initiating SEPA Credit Transfers to get full control over the verification user experience.
Verification flow
- Verify beneficiary: Call the
verifyBeneficiary
mutation using an IBAN and account holder name. - Receive the verification result: Match, Close match, No Match, or Verification not possible. A unique token is also returned, identifying the VoP and result.
- Inform the end-user: Display appropriate messaging and optional actions based on the verification result.
- User proceeds: The end-user can choose to proceed with the payment regardless of the result.
- Use token: Add the beneficiary token to the input of the initiateCreditTransfers mutation.
- User gives consent: Complete the payment authorization.
Detailed verification flow diagram
Custom UX examples
Examples of how to present VoP verification results in your web banking interface during the "Custom UX handling" step.
- ✅ Match
- ⚠️ Close match
- ❌ No match
- ❌ Verification not possible
Coming soon
The following features are under development. Final implementation may differ.
Complete API documentation
Full specifications for VoP mutations and updated endpoints will be provided, including:
verifyBeneficiary
mutation: Pre-validate beneficiary details before payment initiation- Updated
initiateCreditTransfers
mutation: Support for beneficiary tokens and VoP compliance - Verification result types: Match, Close match, No match, and Verification not possible responses
Enhanced integration options
- Server-to-Server consent with VoP: Handle verification results in S2S consent flows
- Bulk credit transfers management: Opt-out and opt-in capabilities for company accounts
- Trusted beneficiaries integration: VoP compatibility with Swan's trusted beneficiary system