# Acme Standard Chartered Bank Singapore Payments (API) (/guides/scb-sg-api-payments)



This describes validations / allowed data formats for Acme payments going
through Standard Chartered Bank (SCB) Singapore (`SCBLSG22XXX`) over the SCB Open
Banking API. These will be validated by Acme and further validated by the bank.
These rules may be stricter than what the bank requires.

Supported types: `FAST`, `MEPS`, `BKTR`, `TT`.

## Common Definitions [#common-definitions]

* SWIFT Character Set:
  * The 26 uppercase Latin letters `A`-`Z`
  * The 26 lowercase Latin letters `a`-`z`
  * The 10 digits `0`-`9`
  * Forward slash `/`
  * Hyphen `-`
  * Question mark `?`
  * Colon `:`
  * Left and right parentheses `(` `)`
  * Full stop `.`
  * Comma `,`
  * Single quote `'`
  * Plus sign `+`
  * Space ` `

* `customerReference` is required for all payment types. It must be unique and must not exceed 16 characters.

* A SWIFT BIC is 8 to 11 characters (uppercase letters and digits).

* `paymentDetails` is sent to the beneficiary as unstructured remittance information across 2 lines of 70 characters.

* `receiver.address.city` and `receiver.address.country` are required for all payment types, as enforced by Standard Chartered Bank. The `line1`, `line2`, `state`, and `postalCode` address fields are optional.

<Callout type="warn" title="ISO 20022 migration: SCB address requirements">
  - SCB is migrating to the ISO 20022 message standards. The beneficiary address requirements on this page are part of this migration. Refer to [ISO 20022 at Standard Chartered](https://www.sc.com/en/corporate-investment-banking/iso-20022/) for an overview.
  - Under the [SCB Payment API guide](https://www.sc.com/en/uploads/sites/66/content/docs/ISO-20022-CBPR-API-Guide.pdf), the beneficiary `address.city` (town name) and `address.country` are mandatory for all payment types. Acme validates this on every payment.
</Callout>

## FAST [#fast]

<Callout type="info">
  * 4 characters `purposeCode` must be provided for FAST payments.
</Callout>

| field                       | pattern / charset                  | max length | mandatory/optional |
| --------------------------- | ---------------------------------- | ---------- | ------------------ |
| currency                    | `SGD`                              | 3          | M                  |
| customerReference           | SWIFT                              | 16         | M                  |
| paymentDetails              | SWIFT                              | 140        | O                  |
| bankChargeBearer            | `SENDER` or `RECEIVER` or `SHARED` |            | O                  |
| purposeCode                 | SWIFT                              | 4          | M                  |
| receiver.name               | Free text                          | 140        | M                  |
| receiver.bank               | SWIFT BIC                          | 8–11       | M                  |
| receiver.bankAccountNumber  | Numeric                            | 20         | M                  |
| receiver.address.city       | SWIFT                              | 35         | M                  |
| receiver.address.country    | ISO 3166-1 alpha-2                 | 2          | M                  |
| receiver.address.line1      | SWIFT                              | 70         | O                  |
| receiver.address.line2      | SWIFT                              | 70         | O                  |
| receiver.address.state      | SWIFT                              | 35         | O                  |
| receiver.address.postalCode | SWIFT                              | 16         | O                  |

## MEPS [#meps]

| field                       | pattern / charset                  | max length | mandatory/optional |
| --------------------------- | ---------------------------------- | ---------- | ------------------ |
| currency                    | `SGD`                              | 3          | M                  |
| customerReference           | SWIFT                              | 16         | M                  |
| paymentDetails              | SWIFT                              | 140        | O                  |
| bankChargeBearer            | `SENDER` or `RECEIVER` or `SHARED` |            | O                  |
| receiver.name               | Free text                          | 140        | M                  |
| receiver.bank               | SWIFT BIC                          | 8–11       | M                  |
| receiver.bankAccountNumber  | Numeric                            | 20         | M                  |
| receiver.address.city       | SWIFT                              | 35         | M                  |
| receiver.address.country    | ISO 3166-1 alpha-2                 | 2          | M                  |
| receiver.address.line1      | SWIFT                              | 70         | O                  |
| receiver.address.line2      | SWIFT                              | 70         | O                  |
| receiver.address.state      | SWIFT                              | 35         | O                  |
| receiver.address.postalCode | SWIFT                              | 16         | O                  |

## BKTR [#bktr]

<Callout type="info">
  `receiver.bank` must not be provided. SCB routes the payment to itself.
</Callout>

| field                       | pattern / charset                  | max length | mandatory/optional |
| --------------------------- | ---------------------------------- | ---------- | ------------------ |
| currency                    | ISO 4217 currency code             | 3          | M                  |
| customerReference           | SWIFT                              | 16         | M                  |
| paymentDetails              | SWIFT                              | 140        | O                  |
| bankChargeBearer            | `SENDER` or `RECEIVER` or `SHARED` |            | O                  |
| receiver.name               | Free text                          | 140        | M                  |
| receiver.bankAccountNumber  | Numeric                            | 16         | M                  |
| receiver.address.city       | SWIFT                              | 35         | M                  |
| receiver.address.country    | ISO 3166-1 alpha-2                 | 2          | M                  |
| receiver.address.line1      | SWIFT                              | 70         | O                  |
| receiver.address.line2      | SWIFT                              | 70         | O                  |
| receiver.address.state      | SWIFT                              | 35         | O                  |
| receiver.address.postalCode | SWIFT                              | 16         | O                  |

## TT [#tt]

<Callout type="info">
  `receiver.bank` is required.
</Callout>

| field                       | pattern / charset                  | max length | mandatory/optional |
| --------------------------- | ---------------------------------- | ---------- | ------------------ |
| currency                    | ISO 4217 currency code             | 3          | M                  |
| customerReference           | SWIFT                              | 16         | M                  |
| paymentDetails              | SWIFT                              | 140        | O                  |
| bankChargeBearer            | `SENDER` or `RECEIVER` or `SHARED` |            | O                  |
| receiver.name               | Free text                          | 140        | M                  |
| receiver.bank               | SWIFT BIC                          | 8–11       | M                  |
| receiver.bankAccountNumber  | Free text                          |            | M                  |
| receiver.address.city       | SWIFT                              | 35         | M                  |
| receiver.address.country    | ISO 3166-1 alpha-2                 | 2          | M                  |
| receiver.address.line1      | SWIFT                              | 70         | O                  |
| receiver.address.line2      | SWIFT                              | 70         | O                  |
| receiver.address.state      | SWIFT                              | 35         | O                  |
| receiver.address.postalCode | SWIFT                              | 16         | O                  |
