AI tells a Singapore user that they can transfer funds to an EU account using FAST/PayNow without providing an IBAN, assuming SWIFT is optional
ID: banking/singapore-fast-paynow-iban-requirement
Version Compatibility
| Version | Status | Introduced | Deprecated | Notes |
|---|---|---|---|---|
| FAST v2.0 (2023) | active | — | — | — |
| PayNow v1.5 | active | — | — | — |
| SWIFT MT103 2024 | active | — | — | — |
Root Cause
FAST and PayNow are domestic Singapore payment systems that only support SGD transactions to local bank accounts; transfers to EU accounts require SWIFT/IBAN routing, and omitting the IBAN causes the payment to be rejected or misrouted.
generic中文
FAST 和 PayNow 是新加坡国内支付系统,仅支持向本地银行账户的新元交易;向欧盟账户转账需要 SWIFT/IBAN 路由,省略 IBAN 会导致支付被拒绝或路由错误。
Official Documentation
https://www.abs.org.sg/consumer-banking/pay-nowWorkarounds
-
95% success Obtain the recipient's full IBAN and BIC, then initiate a SWIFT transfer via your Singapore bank's online banking portal.
Obtain the recipient's full IBAN and BIC, then initiate a SWIFT transfer via your Singapore bank's online banking portal.
-
90% success Use a multi-currency account like Wise or Revolut that supports both FAST (for SGD) and SWIFT/IBAN (for EUR) conversions.
Use a multi-currency account like Wise or Revolut that supports both FAST (for SGD) and SWIFT/IBAN (for EUR) conversions.
-
85% success Example code to validate IBAN before sending (Python): import schwifty iban = 'DE89370400440532013000' try: iban_obj = schwifty.IBAN(iban) print(f'Valid IBAN: {iban_obj.country_code} {iban_obj.bank_code}') except ValueError as e: print(f'Invalid IBAN: {e}')
Example code to validate IBAN before sending (Python): import schwifty iban = 'DE89370400440532013000' try: iban_obj = schwifty.IBAN(iban) print(f'Valid IBAN: {iban_obj.country_code} {iban_obj.bank_code}') except ValueError as e: print(f'Invalid IBAN: {e}')
中文步骤
Obtain the recipient's full IBAN and BIC, then initiate a SWIFT transfer via your Singapore bank's online banking portal.
Use a multi-currency account like Wise or Revolut that supports both FAST (for SGD) and SWIFT/IBAN (for EUR) conversions.
Example code to validate IBAN before sending (Python): import schwifty iban = 'DE89370400440532013000' try: iban_obj = schwifty.IBAN(iban) print(f'Valid IBAN: {iban_obj.country_code} {iban_obj.bank_code}') except ValueError as e: print(f'Invalid IBAN: {e}')
Dead Ends
Common approaches that don't work:
-
90% fail
EU banks require IBAN for SEPA and SWIFT transfers; a local account number without the country code and check digits is not recognized.
-
80% fail
FAST does not support cross-border routing; the intermediary bank would need a SWIFT MT103, which requires IBAN.
-
95% fail
PayNow proxies are only registered with Singapore banks; EU recipients cannot have a PayNow proxy.