Multi-currency [Beta]

You can now accept charges through Omise in 5 different currencies, USD, EUR, GBP, JPY and SGD.

Your preferred currency can be specified when creating the charge. Omise will automatically handle conversions before settling funds into your account in your local currency.

Multi-currency charges works for credit cards and debit cards only (Visa and Mastercard). Alternative payment methods such as Internet Banking and Alipay can only be charged in your local currency.

- Multi-currency is currently in beta testing, and is only available to merchants with a Thai-registered Omise account. We'll be adding support for other countries in the coming months.

- For those of you who already have a live account and would like to enable multi-currency, please send an email to You’ll need to review Terms & Conditions before testing the API.

Creating a charge

Creating a multi-currency charge is similar to normal charges. You simply change the value in the currency field to your preferred currency. Remember that the minimum and maximum charge amount will also vary depending on the exchange rate.

The cURL snippet below shows an example of a multi currency charge; charge amount USD 1000.

curl \
  -X POST \
  -u skey_test_57rlyvu8iyjhu1gx6b2: \
  -d "amount=100000" \
  -d "currency=usd" \
  -d "card=tokn_test_57xgy58cbjc9abjqrkv"

An example of JSON response is shown below.

  "object": "charge",
  "id": "chrg_test_57xgyfoqifozt7lxqz3",
  "livemode": false,
  "location": "/charges/chrg_test_57xgyfoqifozt7lxqz3",
  "amount": 100000,
  "currency": "usd",
  "description": null,
  "status": "successful",
  "capture": true,
  "authorized": true,
  "reversed": false,
  "paid": true,
  "transaction": "trxn_test_57xgyfrmums9b84icvj",
  "source_of_fund": "card",
  "refunded": 0,
  "refunds": {
    "object": "list",
    "from": "1970-01-01T07:00:00+07:00",
    "to": "2017-05-11T10:35:41+07:00",
    "offset": 0,
    "limit": 20,
    "total": 0,
    "order": null,
    "location": "/charges/chrg_test_57xgyfoqifozt7lxqz3/refunds",
    "data": []
  "return_uri": null,
  "offsite": null,
  "offline": null,
  "reference": null,
  "authorize_uri": null,
  "failure_code": null,
  "failure_message": null,
  "card": null,
  "customer": null,
  "ip": null,
  "dispute": null,
  "created": "2017-05-11T03:35:40Z"

An example of JSON response transaction is shown below.

  "object": "transaction",
  "id": "trxn_test_57xgyfrmums9b84icvj",
  "location": "/transactions/trxn_test_57xgyfrmums9b84icvj",
  "type": "credit",
  "amount": 3198537,
  "currency": "thb",
  "transferable": "2017-05-11T03:35:41Z",
  "source": "chrg_test_57xgyfoqifozt7lxqz3",
  "created": "2017-05-11T03:35:41Z"

Charges are always settled in your local currency. Here’s how it’s shown on your dashboard.

Multi currency charge


You can create a full or partial refund through our refund API or from your dashboard.