Bank Transfer Initialization
Accept bank transfer payments through virtual accounts for various currencies and banking systems. This guide covers the initialization process for bank transfer payments.
Overview
Bank transfers are asynchronous - after initialization, you’ll receive a virtual account where the customer can deposit funds. Webhook notifications will inform you of the transfer status.
Supported Bank Transfer Types
NGN Transfers
-
All major Nigerian banks
-
Instant virtual account generation
-
Real-time transfer notifications
-
Processing time: 1.5 - 10 minutes
USD/International
-
SWIFT transfers
-
ACH (US only)
-
Wire transfers
-
Processing time: 1-3 business days
Initialize Transfer Payment
Request Parameters
Payment amount in minor units (e.g., cents, kobo)
-
Minimum: 100
-
Must be positive integer
-
Example: 10000 = $100.00 USD
Three-letter ISO currency code
-
Supported: NGN, USD, CAD
-
Must match payment method
-
Example: “USD”
Customer information object
Payment description
-
Maximum length: 200 characters
-
Will appear on statements
Unique transaction reference
-
Must be unique per transaction
-
Maximum length: 50 characters
Order information object
Optional additional data
- Nested objects allowed
Example Request
Success Response
Transfer Limits
Transaction Limits may vary based on
-
Account verification level.
-
Transaction history.
Processing Times
Transfer processing times vary by:
-
Bank type (local vs international)
-
Time of day
-
Transaction volume
-
Bank system availability
Currency | Transfer Type | Typical Processing Time |
---|---|---|
NGN | Local | 1.5 - 10 minutes |
USD | ACH | 1 - 3 business days |
USD | Wire | Same/Next business day |
USD | SWIFT | 3 - 5 business days |
Error Handling
Best Practices
-
Unique References
-
Use unique, idempotent references for each transfer
-
Include your internal order ID in the reference
-
Store the payment ID returned in the response
-
-
Webhook Integration
-
Implement webhook handling for transfer status updates
-
Process webhooks asynchronously
-
Verify webhook signatures
-
-
Error Handling
-
Implement proper retry logic
-
Handle timeouts gracefully
-
Log all errors with payment references
-
-
Customer Communication
-
Display virtual account details clearly
-
Show transfer instructions
-
Set clear expiration times
-
Need Help?
-
Review the
-
Check our
-
Contact