Smart Bank Transfer Payouts

The SMART_BANK_TRANSFER_PAYOUT method enables secure and efficient disbursement of funds to bank accounts through both local and international banking networks. It supports domestic clearing systems (e.g., ACH, SEPA, FPS) as well as cross-border payouts via IBAN/SWIFT-based rails.

The platform automatically determines the best routing option based on the destination country, transaction currency, and regional compliance rules. Payouts are initiated by the platform or merchants and are credited to the beneficiary’s bank account. Depending on regional requirements, certain transactions may require additional identity verification or security details.


Supported Payout Networks

Payout MethodRegions SupportedNotes
SEPA Credit TransferEU, EEARequires IBAN; BIC is optional.
SWIFTGlobalUses IBAN and SWIFT; additional identifiers may be needed.
ACHUnited StatesRequires account number and ABA routing number.
FedNow / RTPUnited StatesSupports real-time or near-instant bank transfers.
Interac / EFTCanadaRequires transit number, institution number, and account.
Faster Payments / CHAPSUnited KingdomUses sort code and account number for fast or high-value transfers.
BACSUnited KingdomBatch processing requiring a sort code.
SPEIMexicoUses account number with CLABE or routing details.
PIXBrazilUses CPF (tax ID) and bank account or alias for fast transfers.
MULTIBANCOPortugalRequires bank code and account information.
Local rails (APAC, CIS, etc.)Country-specificFields and requirements vary by country and bank network.

SmartBankTransferPayoutPayload Fields

FieldTypeRequired?Description
paymentMethodApmMethodYes (default)Always SMART_BANK_TRANSFER.
paymentTypeApmFlowTypeYes (default)Always BANK_TRANSFER.
ibanStringYes (EU/global)Required for SEPA and SWIFT transfers in EU and international payouts.
bicStringDependsOften required for international transfers when IBAN is used.
swiftCodeStringNoOptional SWIFT routing code for cross-border payouts.
accountNumberStringDependsRequired in regions without IBAN (US, CA, UK, AU, etc.).
routingNumberStringDependsMandatory in US (ABA), UK, and certain LATAM/APAC countries.
sortCodeStringDependsUK-specific bank routing code for local transfers.
bankCodeStringNoGeneric bank identifier used in specific regions.
branchCodeStringNoBranch-level routing code (e.g., IFSC for India, MICR).
institutionNumberStringNoCanada-specific bank identifier, used with transitNumber.
transitNumberStringNoCanada-specific bank routing number, paired with institutionNumber.
bankNameStringNoHuman-readable name of the receiving bank.
bankCityStringNoCity where the beneficiary's bank branch is located.
countryStringYesDestination country for the payout transaction.
bankAccountTypeStringNoIndicates whether the account is checking, savings, etc.
bankCleaningSystemIdStringNoCountry-specific clearing or settlement system identifier.
accountHolderNameStringYesName of the beneficiary holding the account.
securityQuestionStringNoOptional security question required in some regions (e.g., CA/US).
securityAnswerStringNoAnswer to the security question, used for transaction validation.

Note:

  • Yes → Mandatory field
  • No → Optional field
  • Depends → Required only for certain regions or payout methods

SmartBankTransferPayoutResponseData Fields

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways SMART_BANK_TRANSFER.
paymentTypeApmFlowTypeYesAlways BANK_TRANSFER.
redirectUrlStringOptionalURL for completing additional verification or post-payout action.
iframeUrlStringOptionalURL to display embedded payout status (if supported).
providerTransactionIdStringYesUnique identifier for the payout transaction from the processor.
accountHolderNameStringOptionalEchoed name of the account holder for confirmation and auditing.
maskedAccountNumberStringOptionalMasked version of the beneficiary’s account number for secure logging.
ibanStringOptionalReturned or echoed IBAN of the payout account.
bicStringOptionalReturned or echoed BIC code for international payouts.
swiftCodeStringOptionalReturned or echoed SWIFT code used in cross-border transfers.
accountNumberStringOptionalReturned full account number for reconciliation.
routingNumberStringOptionalABA or other routing code for local payouts.
sortCodeStringOptionalReturned UK-specific bank routing code.
branchCodeStringOptionalBranch routing code (e.g., IFSC).
bankCodeStringOptionalGeneric bank identifier provided by the processor.
institutionNumberStringOptionalCanada-specific bank institution number.
transitNumberStringOptionalCanada-specific transit number for bank routing.
bankNameStringOptionalName of the beneficiary’s bank.
bankCityStringOptionalCity of the bank branch for payout destination.
countryStringOptionalDestination country of the payout.
bankAccountTypeStringOptionalType of bank account (e.g., checking, savings).
bankCleaningSystemIdStringOptionalClearing or settlement system ID from the payout processor.
securityQuestionStringOptionalEchoed security question if collected.
securityAnswerStringOptionalEchoed answer to the security question if collected.
bankMetadataMap<String, String>OptionalPSP-specific metadata for reporting, reconciliation, or auditing.

Best Practices & Recommendations

  • EU & International: Use iban + bic for SEPA and SWIFT transfers.
  • US/Canada: Use accountNumber + routingNumber for local payouts.
  • UK: Use sortCode + accountNumber for Faster Payments or CHAPS.
  • Validation: Always validate country-specific field formats before submission to prevent failures.
  • Security Fields: Collect securityQuestion and securityAnswer for regions requiring additional verification (e.g., Canada).
  • Metadata: Utilize bankMetadata to store PSP-specific details such as internal references or tracking IDs for enhanced reconciliation.