Overview
Bank transfer capture generates a virtual account where the customer can deposit funds. This is an asynchronous process - you’ll receive webhook notifications when the transfer is detected and completed.Virtual accounts are typically valid for 24 hours. Monitor the
expires_at
field in the response to know when the account will expire.Capture Flow
1
Generate Virtual Account
Call the capture endpoint to get bank account details
2
Customer Transfer
Customer initiates transfer to provided account
3
Payment Detection
System detects incoming transfer
4
Confirmation
Receive webhook notification of successful payment
Endpoint
Path Parameters
The ID of the payment session to capture
Request Example
Response Example
Processing Times
Average Processing Times
- NGN transfers: 5-15 minutes
- USD transfers: 1-3 business days
- CAD transfers: 1-2 business days
- Bank network status
- Time of day
- Transaction volume
Webhook Events
Monitor these webhook events for transfer status:payment.session.created
payment.session.created
Virtual account generated successfully
deposit.received
deposit.received
Transfer detected but not yet confirmed
payment.session.succeeded
payment.session.succeeded
Transfer confirmed and credited
payment.session.failed
payment.session.failed
Transfer failed or expired
Best Practices
-
Display Information
- Show account details clearly
- Include transfer instructions
- Display expiration time
- Show expected processing time
-
Error Handling
- Handle expired accounts
- Implement retry logic
- Monitor transfer status
- Log all webhook events
-
User Experience
- Provide clear transfer instructions
- Display payment status updates
- Send email/SMS notifications
- Include support contact info
Need Help?
For assistance with bank transfers:
- Check our Error Handling Guide
- Review Webhook Implementation
- Contact Support