# Acme Citibank Indonesia Payments (/guides/citi-id-payments)



This describes validations / allowed data formats for Acme payments going
through Citibank Indonesia. These will be validated by Acme and further validated by
the bank. These rules may be stricter than what the bank requires.

### 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 <code> </code>

* Citi restrictions:
  * For SWIFT character set: do not start a field with any of the following characters: `/`, `-`, `:`

## ID\_SKN [#id_skn]

<Callout type="warn" title="Important">
  * Currency must be **IDR only**.
  * Amount in Indonesian Rupiah must not have cents / digits after the decimal point (you must send amount ending in `00`).
  * Amount maximum 500,000,000 IDR.
</Callout>

| field                                   | pattern / charset                         | max length   | mandatory/optional |
| --------------------------------------- | ----------------------------------------- | ------------ | ------------------ |
| payments\[N].customerReference          | SWIFT (uppercase only)                    | 15           | M                  |
| payments\[N].paymentDetails             | SWIFT                                     | 140          | O                  |
| payments\[N].instructionForSenderBank   | SWIFT                                     | 35           | O                  |
| payments\[N].receiver.name              | SWIFT                                     | 40           | M                  |
| payments\[N].receiver.bank              | BIC                                       | 11           | M                  |
| payments\[N].receiver.bankAccountNumber | Alphanumeric                              | 34           | M                  |
| payments\[N].receiver.residencyStatus   | `RESIDENT` / `NON_RESIDENT`               |              | M                  |
| payments\[N].receiver.beneficiaryType   | `INDIVIDUAL` / `CORPORATE` / `GOVERNMENT` |              | M                  |
| payments\[N].receiver.citizenshipStatus | `CITIZEN` / `NON_CITIZEN`                 |              | M                  |
| payments\[N].receiver.address           | SWIFT                                     | 35 chars x 3 | O                  |

## TT [#tt]

<Callout type="warn" title="Important">
  * Purpose code (*Sandi Tujuan Transaksi*) is required. Please contact the bank for the list.
</Callout>

| field                                   | pattern / charset                | max length   | mandatory/optional |
| --------------------------------------- | -------------------------------- | ------------ | ------------------ |
| payments\[N].customerReference          | SWIFT (uppercase only)           | 15           | M                  |
| payments\[N].paymentDetails             | SWIFT                            | 105          | O                  |
| payments\[N].instructionForSenderBank   | SWIFT                            | 35           | O                  |
| payments\[N].bankChargeBearer           | `SENDER` / `RECEIVER` / `SHARED` |              | O                  |
| payments\[N].purposeCode                | 4 digit purpose code             | 4            | M                  |
| payments\[N].receiver.name              | SWIFT                            | 35           | M                  |
| payments\[N].receiver.bank              | Alphanumeric                     | 11           | M                  |
| payments\[N].receiver.intermediaryBank  | Alphanumeric                     | 11           | O                  |
| payments\[N].receiver.bankAccountNumber | Alphanumeric + Dash              | 34           | M                  |
| payments\[N].receiver.address           | SWIFT                            | 35 chars x 3 | O                  |

## BKTR [#bktr]

<Callout type="warn" title="Important">
  * Amount in Indonesian Rupiah must not have cents / digits after the decimal point (you must send amount ending in `00`).
</Callout>

| field                                   | pattern / charset                                             | max length                 | mandatory/optional |
| --------------------------------------- | ------------------------------------------------------------- | -------------------------- | ------------------ |
| payments\[N].customerReference          | SWIFT (uppercase only)                                        | 15                         | M                  |
| payments\[N].paymentDetails             | SWIFT                                                         | 105                        | O                  |
| payments\[N].instructionForSenderBank   | SWIFT                                                         | 35                         | O                  |
| payments\[N].paymentAdviceEmails\[N]    | Valid email address <br /> Example: `["finance@company.com"]` | 50 per email (max 1 email) | O                  |
| payments\[N].receiver.name              | SWIFT                                                         | 35                         | M                  |
| payments\[N].receiver.bankAccountNumber | Alphanumeric                                                  | 34                         | M                  |
| payments\[N].receiver.address           | SWIFT                                                         | 35 chars x 3               | O                  |

## ID\_FAST [#id_fast]

<Callout type="warn" title="Important">
  * Currency must be **IDR only**.
  * Amount in Indonesian Rupiah must not have cents / digits after the decimal point (you must send amount ending in `00`).
  * Purpose code (*Sandi Tujuan Transaksi*) is required. Please contact the bank for the list.
</Callout>

| field                                   | pattern / charset                                             | max length                 | mandatory/optional |
| --------------------------------------- | ------------------------------------------------------------- | -------------------------- | ------------------ |
| payments\[N].customerReference          | SWIFT (uppercase only)                                        | 16                         | M                  |
| payments\[N].paymentDetails             | SWIFT                                                         | 140                        | O                  |
| payments\[N].instructionForSenderBank   | SWIFT                                                         | 35                         | O                  |
| payments\[N].bankChargeBearer           | `SENDER` / `RECEIVER` / `SHARED`                              |                            | M                  |
| payments\[N].purposeCode                | 2 digit purpose code                                          | 2                          | M                  |
| payments\[N].paymentAdviceEmails\[N]    | Valid email address <br /> Example: `["finance@company.com"]` | 50 per email (max 1 email) | O                  |
| payments\[N].receiver.name              | SWIFT                                                         | 35                         | M                  |
| payments\[N].receiver.bank              | Alphanumeric (BIC)                                            | 11                         | M                  |
| payments\[N].receiver.bankAccountNumber | Alphanumeric                                                  | 34                         | M                  |

## ID\_RTGS [#id_rtgs]

<Callout type="warn" title="Important">
  * Currency must be **IDR only**.
  * Amount in Indonesian Rupiah must not have cents / digits after the decimal point (you must send amount ending in `00`).
  * Amount mininum > IDR 100,000,000. For amounts ≤ IDR 100,000,000, use ACH Credit/GIRO instead.
</Callout>

| field                                        | pattern / charset                                             | max length                 | mandatory/optional |
| -------------------------------------------- | ------------------------------------------------------------- | -------------------------- | ------------------ |
| payments\[N].customerReference               | SWIFT (uppercase only)                                        | 15                         | M                  |
| payments\[N].paymentDetails                  | SWIFT                                                         | 105                        | O                  |
| payments\[N].instructionForSenderBank        | SWIFT                                                         | 35                         | O                  |
| payments\[N].bankChargeBearer                | `SENDER` / `RECEIVER` / `SHARED`                              |                            | O                  |
| payments\[N].paymentAdviceEmails\[N]         | Valid email address <br /> Example: `["finance@company.com"]` | 50 per email (max 1 email) | O                  |
| payments\[N].receiver.name                   | SWIFT                                                         | 40                         | M                  |
| payments\[N].receiver.bank                   | Alphanumeric (BIC)                                            | 11                         | M                  |
| payments\[N].receiver.bankAccountNumber      | Alphanumeric                                                  | 34                         | M                  |
| payments\[N].receiver.localRoutingIdentifier | Numeric (7 digits exactly)                                    | 7                          | M                  |
| payments\[N].receiver.residencyStatus        | `RESIDENT` / `NON_RESIDENT`                                   |                            | M                  |
| payments\[N].receiver.citizenshipStatus      | `CITIZEN` / `NON_CITIZEN`                                     |                            | M                  |
| payments\[N].receiver.bankName               | SWIFT                                                         | 35                         | M                  |
| payments\[N].receiver.address.line1          | SWIFT                                                         | 35                         | M                  |
| payments\[N].receiver.address.line2          | SWIFT                                                         | 35                         | O                  |
| payments\[N].receiver.address.city           | SWIFT                                                         | 35                         | O                  |
| payments\[N].receiver.address.state          | SWIFT                                                         | 35                         | O                  |
| payments\[N].receiver.address.postalCode     | SWIFT                                                         | 35                         | O                  |
| payments\[N].receiver.address.country        | SWIFT                                                         | 35                         | O                  |
