Accept payments in multiple currencies.
Supported Currencies
Currency availability depends on your payment processor configuration. Not all currencies are enabled by default. Contact Ozura support to confirm which currencies are enabled for your account before accepting payments in a non-USD currency.
Ozura Checkout accepts standard 3-letter currency codes. Common currencies include:
| Code | Currency | Symbol |
|---|
USD | US Dollar | $ |
CAD | Canadian Dollar | CA$ |
GBP | British Pound | £ |
EUR | Euro | € |
AUD | Australian Dollar | A$ |
MXN | Mexican Peso | MX$ |
Default: If you don’t specify a currency, USD is used.
Usage
Specify the currency when creating a session:
{
"merchantId": "your_merchant_id",
"merchantName": "My Store",
"amount": "25.00",
"currency": "GBP",
"successUrl": "https://mysite.com/success",
"cancelUrl": "https://mysite.com/cancel",
"errorUrl": "https://mysite.com/error"
}
The checkout page will display prices in the specified currency with the appropriate symbol.
The amount can be sent as a string or number:
| Correct | Incorrect |
|---|
"25.00" | "$25.00" (no currency symbols) |
25.00 | 25 (missing decimals for strings) |
"100.50" or 100.50 | "100.5" (use two decimal places for strings) |
Both "25.00" (string) and 25.00 (number) work. Use whichever is more convenient for your code.
Decimal Precision (Important!)
Different currencies have different decimal precision requirements. The API rejects amounts with incorrect decimal places.
Standard Currencies (2 decimals)
Most currencies use 2 decimal places:
| Currency | Valid | Invalid |
|---|
| USD, EUR, GBP, CAD, AUD, MXN | "99.99" | "99.999" ❌ |
Zero-Decimal Currencies (no decimals)
Some currencies don’t use decimal places at all:
| Currency | Name | Valid | Invalid |
|---|
JPY | Japanese Yen | "1000" | "1000.00" ❌ |
KRW | South Korean Won | "50000" | "50000.50" ❌ |
VND | Vietnamese Dong | "100000" | "100000.00" ❌ |
Three-Decimal Currencies (3 decimals)
Some Middle Eastern currencies use 3 decimal places:
| Currency | Name | Valid | Invalid |
|---|
KWD | Kuwaiti Dinar | "5.500" | "5.5000" ❌ |
BHD | Bahraini Dinar | "10.250" | "10.25" ❌ |
OMR | Omani Rial | "25.000" | "25.0" ❌ |
Error Response
If you provide incorrect decimal precision, the API returns:
{
"success": false,
"error": "Validation failed",
"details": ["amount has 2 decimal places but JPY only allows 0"]
}
Best Practice
Always check the currency’s decimal requirements before creating a session:
- Most currencies: use 2 decimals
- JPY, KRW: use 0 decimals (whole numbers only)
- KWD, BHD, OMR: use 3 decimals
Currency on Success
When the customer completes payment, the currency is included in the success redirect:
https://mysite.com/success?transactionId=txn_123&amount=25.00¤cy=GBP
You can parse this to display the correct currency symbol on your confirmation page.
Multi-Currency Tips
- Let customers choose: Detect the customer’s location and default to their local currency
- Display clearly: Show the currency code alongside the amount on your checkout button
- Match expectations: If your product page shows prices in EUR, create the session in EUR