You are currently viewing the Malaysia site. To visit the International site, please click here.

Simple framework built for developers

Spend development effort building what works for your business, not building from the ground up. Integrate using RESTful APIs and customise capabilities to fit your own needs.

A platform for merchants, designed for developers

Integrate into your system in minutes

Developer friendly APIs

Craft powerful integrations without having to build from scratch. Choose to integrate as much or as little as you need, and build right away or come back for additional features as you require.


Get the feel of everything Omise before integrating. Explore the complete set of functionalities and test APIs for free. Requests and responses in the test environment are the same as the live Omise gateway.


From API references to sample code and test data, you’ll find everything you need to quickly integrate with Omise. For extra help, our community of developers or our technical support team are ready to assist.

Maximize process automation with APIs

Configurable subscriptions

Easily plan future events that happen at regular intervals. Whether you need to collect payments from a client every week, or initiate fund transfers to connected bank accounts every other day, the Schedule API has you covered.

Streamlined dispute management

The Documents API helps automate evidence submission in the dispute management process. Whenever you are notified of a dispute, your server can automatically fetch necessary data to submit as evidence and send them over to us to further process the case.

  • Charge
  • Transfer
  • Recipient
  • Schedule
# Create a charge

require "omise"

Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x"

charge = Omise::Charge.create({
  amount: 100000,
  currency: "thb",
  card: "tokn_test_4xs9408a642a1htto8z"
# Create a transfer

require "omise"

Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x"

transfer = Omise::Transfer.create(amount: 100000)
# Create a recipient

require "omise"

Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x"

recipient = Omise::Recipient.create({
  name: "Somchai Prasert",
  email: "",
  type: "individual",
  bank_account: {
    brand: "bbl",
    number: "1234567890",
# Charge to a specific customer every 2 days

require "omise"

Omise.secret_api_key = "skey_test_4xs8breq3htbkj03d2x"

scheduler = Omise::Charge.schedule({
  customer:    "cust_test_57m2wcnfx96k634rkqq",
  card:        "card_test_57m2w8iemdovs4f92m2",
  amount:      100000,
  description: "Membership fee"

schedule = scheduler.every(2).days
API Reference →

Architected for reliability and scalability

Cloud-based platform that is auto-scalable, allowing expansion without internal build out. This means congestion-free even at peak processing times.

service uptime

Infrastructure redundancy

With an in-depth security infrastructure that is not dependent on any single authority, and parts of our critical infrastructure stored in the cloud, Omise can ensure that payments are securely processed 24/7 even in unforeseen cases of network disruption.

Secure by default

Omise's client libraries are built to be secure by default with the highest level of encryption guaranteeing safe, secure and risk free payment processing. All sensitive card data never passes through your servers and is kept off the network.

Fraud protection

Comprehensive risk management and machine learning fraud protection models are in place - fine tuned to protect your business from fraudsters before they attack.
  • IP Geolocation & Proxy detection
  • Risk threshold
  • Tokenization
  • Behavior analysis