PAYMENT_ROUTING_ERROR banking protocol_error ai_generated true

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

Also available as: JSON · Markdown · 中文
85%Fix Rate
87%Confidence
1Evidence
2023-11-05First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
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-now

Workarounds

  1. 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.
  2. 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.
  3. 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}')

中文步骤

  1. Obtain the recipient's full IBAN and BIC, then initiate a SWIFT transfer via your Singapore bank's online banking portal.
  2. Use a multi-currency account like Wise or Revolut that supports both FAST (for SGD) and SWIFT/IBAN (for EUR) conversions.
  3. 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:

  1. 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.

  2. 80% fail

    FAST does not support cross-border routing; the intermediary bank would need a SWIFT MT103, which requires IBAN.

  3. 95% fail

    PayNow proxies are only registered with Singapore banks; EU recipients cannot have a PayNow proxy.