SMART_BANK_TRANSFER_PAYOUT enables disbursing funds to bank accounts using localized and international banking rails. This includes domestic clearing systems (e.g., ACH, SEPA, FPS) and global cross-border payouts using IBAN/SWIFT-based rails. The platform routes payouts based on destination country, currency, and compliance/regional requirements.
Payouts are typically initiated by the platform or merchant to a beneficiary's account and may require security or identity details depending on the country.
| Payout Method | Regions Supported | Notes |
|---|
| SEPA Credit Transfer | EU, EEA | Requires IBAN; optional BIC |
| SWIFT | Global | IBAN/SWIFT; may include additional identifiers |
| ACH | United States | Account + ABA routing number |
| FedNow / RTP | United States | Real-time or faster payments |
| Interac / EFT | Canada | Transit + institution + account |
| Faster Payments / CHAPS | United Kingdom | Sort code + account |
| BACS | United Kingdom | Batch payments; requires sort code |
| SPEI | Mexico | Account + CLABE or routing |
| PIX | Brazil | CPF + account or alias |
| MULTIBANCO | Portugal | Bank code and account |
| HAVALE | Turkey | Requires IBAN + Account Holder Name |
| Local rails (APAC, CIS, etc.) | Country-specific | Fields vary by country and bank system |
| Field | Type | Required? | Description |
|---|
paymentMethod | ApmMethod | Yes (default) | Always SMART_BANK_TRANSFER |
paymentType | ApmFlowType | Yes (default) | Always BANK_TRANSFER |
iban | String? | ✅ (EU/global) | Required for SEPA or SWIFT-based payouts |
bic | String? | ❌/✅ | Often required for international payments |
swiftCode | String? | ❌ | Optional routing for cross-border |
accountNumber | String? | ✅/❌ | Required in US, CA, UK, AU, etc. |
routingNumber | String? | ✅/❌ | Required in US (ABA), UK, some LATAM/APAC |
sortCode | String? | ✅/❌ | UK-specific routing |
bankCode | String? | ❌ | Generic bank identifier |
branchCode | String? | ❌ | Branch-level routing code (e.g., IFSC, MICR, etc.) |
institutionNumber | String? | ❌ | Canada-specific (with transitNumber) |
transitNumber | String? | ❌ | Canada-specific (with institutionNumber) |
bankName | String? | ❌ | Human-readable name of the bank |
bankCity | String? | ❌ | City where the bank is located |
country | String? | ✅ | Target country for payout |
bankAccountType | String? | ❌ | e.g., checking, savings, etc. |
bankCleaningSystemId | String? | ❌ | Country-specific system code |
accountHolderName | String? | ✅ | Beneficiary name |
securityQuestion | String? | ❌ | Optional security validation question (CA/US/others) |
securityAnswer | String? | ❌ | Optional answer to security question |
| Field | Type | Required? | Description |
|---|
paymentMethod | ApmMethod | Yes | Always SMART_BANK_TRANSFER |
paymentType | ApmFlowType | Yes | Always BANK_TRANSFER |
redirectUrl | String? | Optional | Redirect for any verification or post-payout action |
iframeUrl | String? | Optional | Embeddable payout status (if supported) |
providerTransactionId | String | ✅ | Unique transaction ID from the payout processor |
accountHolderName | String? | Optional | Echoed for reconciliation |
maskedAccountNumber | String? | Optional | Masked for logs and audit |
iban | String? | Optional | Echoed or returned IBAN |
bic | String? | Optional | Echoed or returned BIC |
swiftCode | String? | Optional | Echoed or returned SWIFT code |
accountNumber | String? | Optional | Echoed or returned account number |
routingNumber | String? | Optional | ABA, FPS, etc. |
sortCode | String? | Optional | UK routing |
branchCode | String? | Optional | Branch-specific routing (e.g., IFSC) |
bankCode | String? | Optional | Generic identifier |
institutionNumber | String? | Optional | Canada-specific |
transitNumber | String? | Optional | Canada-specific |
bankName | String? | Optional | Echoed human-readable bank name |
bankCity | String? | Optional | Echoed city of bank |
country | String? | Optional | Echoed payout destination country |
bankAccountType | String? | Optional | Echoed account type |
bankCleaningSystemId | String? | Optional | Echoed or reconciled value from processor |
securityQuestion | String? | Optional | Echoed (if collected) |
securityAnswer | String? | Optional | Echoed (if collected) |
bankMetadata | Map<String, String>? | Optional | PSP-specific data for reconciliation, display, or audit |
- Use
iban + bic for EU and global SWIFT payouts.
- Use
accountNumber + routingNumber for US/Canada.
- Use
sortCode + accountNumber for UK.
- Validate country and format before submission.
- Collect
securityQuestion/securityAnswer when required for local validations (e.g., Canada).
- Use
bankMetadata for PSP-specific values (e.g., transfer references, internal IDs).