Handling currencies in operations
To handle foreign currencies correctly you must ensure that you take a few essential steps -- including the correct handling of the decimal point as defined by ISO 4217.
ISO 4217 and transaction values
ISO 4217 is a standard that defines currencies and, in particular, defines the number of digits after the decimal point.
Beware not to assume that the currency you are handling has the conventional two digits after the decimal point. For example, transactions in Jordanian dinar involve three digits after the decimal point.
Accommodating decimal values
When you send transaction values you do so without including a decimal point in the value. For example, USD 100.50 would be submitted as 10050.
So, before sending the transaction value, you must multiply the value by a factor that matches the ISO 4217 specification for that currency. Multiplication is necessary to accommodate decimal values. Each currency's 3-digit ISO code will have a specification for the number of digits after the decimal separator.
For example: If the transaction value is 500 AED; according to ISO 4217, you should multiply the value with 100 (to accommodate 2 decimal points). You will therefore send an AED 500 purchase amount as a value of 50000.
Another example: If the amount value was 100 JOD; according to ISO 4217, you should multiply the value with 1000 (to accommodate 3 decimal points). You, therefore, send a JOD 100 purchase amount as a value of 100000.
Live currency conversion
Note that you can show your customers prices in their local currency by making use of our live currency conversion feature that automatically converts the prices on your server to the equivalent in your user's local currency.
Read more about live currency conversion here.
Need further help?
If you get stuck with currencies feel free to get in touch with the Amazon Payment Services team. Just message our support team at merchantsupport-ps@amazon.com.