# Usage rules of the Amount object

> Learn the usage rules and structure of the Amount object, including currency codes and value formatting in smallest currency units.

Currency-related data parameters are available in the API documentation. One of them is the amount object that is used by a lot of APIs. The amount parameter has the sub-parameters _currency_ and _value_:

| **Parameter** | **Description** |
| --- | --- |
| _currency_ | **Required** String (3) The 3-letter currency code that follows the [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) standard. |
| _value_ | **Required** String (16) The amount to charge as a positive integer in the smallest currency unit. If the currency is USD and the amount is $1.00, set the value of this parameter to `100`. Or, if the currency is JPY and the amount is ¥1, set the value of this parameter to `1`. |

When using the _amount_ object, you need to follow the usage rules to avoid problems.

## Smallest unit of the currency

_amount.value_ represents the amount and must be passed in the smallest unit of the corresponding currency.Antom follows the [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) standard for the definition of the smallest unit of a currency. For example:

| **Currency Code** | **Smallest Unit (Number of the Digits after Decimal)** | **Value in the Amount** |
| --- | --- | --- |
| AUD | 2 decimal places | 1.00 AUD needs to be set as "value: 100" |
| BDT | 2 decimal places | 1.00 BDT needs to be set as "value: 100" |
| BRL | 2 decimal places | 1.00 BRL needs to be set as "value: 100" |
| CAD | 2 decimal places | 1.00 CAD needs to be set as "value: 100" |
| CLP | 0 decimal places | 1 CLP needs to be set as "value: 1" |
| CNY | 2 decimal places | 1.00 CNY needs to be set as "value: 100" |
| EUR | 2 decimal places | 1.00 EUR needs to be set as "value: 100" |
| GBP | 2 decimal places | 1.00 GBP needs to be set as "value: 100" |
| HKD | 2 decimal places | 1.00 HKD needs to be set as "value: 100" |
| IDR | 2 decimal places | 1.00 IDR needs to be set as "value: 100" |
| JPY | 0 decimal places | 1 JPY needs to be set as "value: 1" |
| KRW | 0 decimal places | 1 KRW needs to be set as "value: 1" |
| MXN | 2 decimal places | 1.00 MXN needs to be set as "value: 100" |
| MYR | 2 decimal places | 1.00 MYR needs to be set as "value: 100" |
| NZD | 2 decimal places | 1.00 NZD needs to be set as "value: 100" |
| PEN | 2 decimal places | 1.00 PEN needs to be set as "value: 100" |
| PHP | 2 decimal places | 1.00 PHP needs to be set as "value: 100" |
| PKR | 2 decimal places | 1.00 PKR needs to be set as "value: 100" |
| PLN | 2 decimal places | 1.00 PLN needs to be set as "value: 100" |
| SGD | 2 decimal places | 1.00 SGD needs to be set as "value: 100" |
| THB | 2 decimal places | 1.00 THB needs to be set as "value: 100" |
| TWD | 2 decimal places | 1.00 TWD needs to be set as "value: 100" |
| USD | 2 decimal places | 1.00 USD needs to be set as "value: 100" |
| VND | 0 decimal places | 1 VND needs to be set as "value: 1" |

> **Not****e**:
>
> -   When the currency is TWD, the payment methods JKOPay and E.SUN Wallet do not support decimal amounts. The parameter value must end with 00 and be a multiple of 100. For example, when the parameter value is `100`, it represents 1 TWD. Note that values such as `110` or `101` are invalid, they cannot be used to represent 1.1 TWD or 1.01 TWD.
> -   When the currency is HKD, for the Octopus payment method, the parameter value must end with 0 and be a multiple of 10. For example, when the parameter value is `100`, it represents 1 HKD, and when the value is `110`, it represents 1.1 HKD. Note that the value `101` is invalid and cannot be used to represent 1.01 HKD.
> -   According to Indonesian currency conventions, when using the IDR currency code, the parameter value must end with 00 and be a multiple of 100. For example, valid values include `100`, `1000`, and `10000`, while `1001` or `1010` are invalid.
>
> In addition, different payment methods have minimum amount limits. For instance, DANA supports a minimum amount of 300 IDR.

## Minimum amount rules

For the _paymentAmount_ or _refundAmount_, the minimum amount allowed varies for each payment method. The minimum payment amount and minimum refund amount of each payment method are different. Use parameter values according to the usage rules of the specific [payment method](https://docs.antom.com/payment_methods.md).