Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Omise PHP Client

omise-php is a library designed specifically to connect with Omise API written in PHP.


  • PHP v7.4 and above.
  • Built-in libcurl support.

Note that, due to the PHP END OF LIFE cycle, we encourage you to run Omise-PHP library on a PHP version 7.4 or higher as there is no longer security support for any below 7.4 and that could cause you any security vulnerable issues in the future.


Using Composer

You can install the library via Composer. If you don't already have Composer installed, first install it by following one of these instructions depends on your OS of choice:

  1. After composer is installed, you can declare Omise-PHP as a project dependency by creating a composer.json at the root of your project directory with the following content:

      "require": {
        "omise/omise-php": "dev-master"
  2. Then run the following command to install the Omise-PHP library:

    php composer.phar install
  3. Once you run the composer install command, the Composer will generate a vendor folder at the same directory as composer.json. Now you can then add the following line to PHP script to load the library:

    require_once dirname(__FILE__).'/vendor/autoload.php';
  4. Now you are ready to start using the library, please see the configuration and quick start sections below for usage examples.


If you're not using Composer, you can also download the latest version of Omise-PHP. Then, follows the instruction below to install Omise-PHP to the project.

  1. Extract the library to your project.

  2. Then, include the following line into your PHP file,

    require_once 'path-to-library/omise-php/lib/Omise.php';
  3. Now you are ready to start using the library, please see the configuration and quick start sections below for usage examples.

However, using Composer is recommended as you can easily keep the library up-to-date.


• Config your public and secret keys

First thing first, before you make a very first request to Omise API, you will need to configure your public key and secret key (these can be found at the Omise Dashboard. Log in then go to Keys from the sidebar menu).

Place the following code next to a line where Omise-PHP library is loaded.

define('OMISE_PUBLIC_KEY', 'pkey_test_***');
define('OMISE_SECRET_KEY', 'skey_test_***');

configuring omise-php, public and secret keys


• API version

In case you want to enforce API version the application use, you can specify it by defining the OMISE_API_VERSION.
The version specified by this settings will override the version setting in your account. This is useful if you have multiple environments with different API versions (e.g. development on the latest but production on the older version).

define('OMISE_API_VERSION', '2017-11-02');

API version can be found at Omise Dashboard. Log in then go to API versions from the top-right menu.

configuring omise-php, API version

It is highly recommended to set OMISE_API_VERSION to the current version that you're using to prevent any trouble from accidentally click update Omise-API version at the dashboard.

Quick Start

From the above sections, your code will look similar like the following code:

require_once dirname(__FILE__).'/vendor/autoload.php';

define('OMISE_PUBLIC_KEY', 'pkey_test_***');
define('OMISE_SECRET_KEY', 'skey_test_***');
define('OMISE_API_VERSION', '2017-11-02');

Now, let's add the below code to retrieve your account information:

$account = OmiseAccount::retrieve();

echo $account['email']; // your email will be printed on a screen.

And that's it! You have just made a request to Omise API, easy huh?

Now you are free from our instruction :D
Feel free to integrate Omise Payment Gateway service anyway you like to make it fit with your business flow.
Also, stop by documents or example code sometime to get more informations if you need any helps.

Have fun!

Development and Testing

To run an automated test suite, make sure you already have a PHPUnit in your local machine. Then run the PHPUnit:

cp .env.example .env
make test
  • To generate code coverage test report run make coverage


Thanks for your interest in contributing to Omise PHP. We're looking forward to hearing your thoughts and willing to review your changes.

The following subjects are instructions for contributors who consider to submit changes and/or issues.

Submit the changes

You're all welcome to submit a pull request. Please consider the pull request template and fill the form when you submit a new pull request.

Learn more about submitting pull request here:

Submit the issue

Submit the issue through GitHub's issue channel.

Learn more about submitting an issue here:


Omise-PHP is open-sourced software released under the MIT License.