Transfers Guide
This guide covers everything you need to know about initiating and managing money transfers in your Open Banking application, from internal transfers to external payments.Overview
Transfer functionality is a fundamental component of any banking application. Our API supports comprehensive transfer operations that allow you to move money between accounts, make payments to external beneficiaries, and manage recurring transfers. This functionality enables you to provide complete money movement capabilities within your application.Key Transfer Operations
1. Transfer Enquiry and Beneficiary Verification
Before initiating any transfer, customers are required to perform a Transfer Enquiry to verify the beneficiary account number and name. This critical step ensures accuracy and prevents transfer errors. The Transfer Enquiry API allows you to validate beneficiary account details including account number, bank code, and account holder name. This verification process helps confirm that the beneficiary information is correct before proceeding with the actual transfer. Always perform beneficiary verification before initiating transfers to ensure successful transaction processing and avoid potential issues with incorrect account details.Sample Request
Sample Request
Sample Response
Sample Response
Make sure you send the scope
transfers.transactions.enquiry while requesting for a token, failure to send the scope will lead to the issued access token not able to access this API.2. Batch Transfer Processing
Transfers are processed in batches, with each batch containing multiple transactions that can be either inter-bank or intra-bank transfers. A unique batch ID is automatically generated for each batch of transfers submitted. When initiating transfers, you can include multiple transactions in a single batch request. Each batch can contain transfers to different beneficiaries, different amounts, and different banks. The system will process all transactions within the batch and provide a single batch ID for tracking. Batch processing helps streamline transfer operations and provides efficient handling of multiple transfers in a single API call.Sample Request
Sample Request
Sample Response
Sample Response
Destination Bank Codes
Destination Bank Codes
Make sure you send the scope
transfers.transactions.create while requesting for a token, failure to send the scope will lead to the issued access token not able to access this API.Each transaction object needs to have a unique transaction
reference id. This reference is useful in many ways.
If a transfer is inter bank, you will need to send the Name Enquiry reference for the account that can be added in the custom properties as shown in the sample message above,
where value is the name enquiry reference, and type is name_enquiry_reference and the id is the transaction reference.3. Transfer Status Tracking
Transfer status tracking is accomplished through the Transfer Query API, which allows you to monitor the progress of transfers from initiation to completion. You can check the current status of any transfer using the batch ID or individual transfer reference. The Transfer Query API returns the overall batch status and includes individual transaction statuses in the custom property field. Each transaction is identified by the initiated transfer reference ID, and the status indicates the current state of that specific transfer. Transfer statuses include:- APPROVED: Transfer has been successfully processed and funds transferred
- DECLINED: Transfer was rejected due to insufficient funds, account restrictions, or other validation failures
- FAILED: Transfer could not be completed due to system errors or technical issues
- PENDING: Transfer still in progress
Sample Request
Sample Request
Sample Response
Sample Response
Make sure you send the scope
transfers.transactions.query while requesting for a token, failure to send the scope will lead to the issued access token not able to access this API.The status of each transaction is returned in the
custom_properties.
This unique transaction reference generated in the original transfer request is used as id, and custom_property type is TRANSACTION_STATUS and value is the status of the transaction.Use Cases and Applications
Personal Banking
Transfer APIs are essential for personal banking applications. Customers can transfer money between their own accounts, send money to family and friends, and make payments for goods and services.Business Banking
For business customers, transfer APIs provide tools for managing payroll, vendor payments, and business expenses. Batch transfer capabilities streamline payment processes and improve operational efficiency.Next Steps
Now that you understand transfer operations, explore these related topics:- Developer Onboarding - Onboard Developer
- Customer Management - Manage customer information and relationships
- Account Management - Manage bank accounts and balances
- Bill Payment - Process utility and bill payments
- Card Management - Manage Payment Cards
- Direct Debit Management - Manage Payment Cards
- Dispute Management - Manage Payment Cards
- Savings Information - Manage Payment Cards
- Loan Information - Access customer Loan Information
Always perform Transfer Enquiry to verify beneficiary information before initiating transfers. Implement robust security measures and compliance monitoring to protect customer funds and maintain regulatory compliance. Use batch processing for multiple transfers and regularly monitor transfer status using the Transfer Query API for successful transfer operations.