Opn Payments is a WordPress plugin designed specifically for WooCommerce. The plugin adds support for Opn Payments Payment Gateway’s payment methods to WooCommerce.


  • Opn Payments Dashboard
  • Opn Payments Setting Page
  • Opn Payments Checkout Form


After getting the source code, either downloading as a zip or git clone, put it in WordPress plugins folder (i.e. mv omise /wp-content/plugins/ or upload a zip via WordPress admin Plugins section, just like the other WordPress plugins).

Then, Opn Payments WordPress plugin should be appeared in WordPress admin page, under the Plugins menu.
From there:
1. Activate the plugin
2. Go to WooCommerce -> Settings
3. Select the Payments tab on top.
4. Enable the payment methods that starts with Opn Payments.
5. Click on Set up to if you like to add description.
6. Optionally, if you\’d like to have Opn Payments as a default payment gateway, you can check Default.
7. Click the Settings button and adjust the options.


January 7, 2021
They are very thorough but I love that. Their support has been fantastic too. Perfect gateway for a website based out of Thailand
December 11, 2017
I tried to setup a paiement gateway with them but the requirements are WAY TOO MUCH: -Work permit for foreigners. -For Thai name must be in whois, and bank statement! Switch my shop to all crypto curriencies less hassle.
September 21, 2016
This is pretty cool payment gateway with PCI DSS Compliant, compatible ton of themes and has such API for developer. Support team is also nice.
Read all 4 reviews

Contributors & Developers

“Opn Payments” is open source software. The following people have contributed to this plugin.


“Opn Payments” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Opn Payments” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Remove OCBC PAO (PR: #449)


  • Resolve PHP warnings. (PR #443)
  • Remove white box appearing under WeChat Pay. (PR #444)
  • Remove white box appearing under Truemoney. (PR #445)
  • Removed Citi installment. (PR #446)


  • Revert “Use WC order number metadata”. (PR #440)


  • Add WeChat Pay. (PR #434)
  • Use WC order number metadata. (PR #435)


  • Added TrueMoney jumpapp. (PR #431)
  • Updated (PR #429)


  • Update OCBC digital logo. (PR #422)
  • Update installment interest rates. (PR #423)


  • Fixed a custom font name bug. (PR #419)


  • Support Google fonts other than Poppins. (PR #416)


  • Fix mobile banking issue. (PR #413)


  • Added dynamic webhook. (PR #407)
  • Add QR expires countdown for PromptPay. (PR #408)


  • Added payment instructions in thank you page for PromptPay payment. (PR #401)


  • Added OCBC Digital for Singapore PSP. (PR #401)


  • Fixed capabilities api calling on every pages. (PR #398)


  • Add Alipay+ on Thailand psp. (PR #394)
  • Adding admin_notices action once all dependencies are loaded. (PR #395)


  • Fix installment payment when admin manually pay for order. (PR #388)
  • Fixed Japanese translation issue in secure form. (PR #389)


  • Declare High-Performance Order Storage (HPOS) as compatible. (PR #385)
  • Added a script to run test composer test. (PR #385)
  • Update sonar properties to exclude javascript files. (PR #385)


  • Remove free products from the Atome bill. (PR #378)
  • Fix incompatible issue with country based payments plugin. (PR #379)


  • Added Atome payment method. (PR #364)
  • Installment minimum amount from capability API. (PR #365)
  • Fixed Truemoney phone number input not displaying. (PR #367)
  • Added Google pay icon. (PR #368)
  • Fixed secure form not displaying on pay for order page. (PR #371)
  • Added PayPay payment method. (PR #372)
  • Fixed secured form database key mismatch. (PR #373)
  • Fixed guest checkout with pay for order link. (PR #374)


  • Replace credit card form with secure form with a feature flag options to switch between credit card forms. (PR #354)
  • Added an admin notice to notify the user to update the current credit card form to embedded form. (PR #358)
  • Track the adoption of the secure form. (PR #359)
  • Removed SCB and KTB internet banking. (PR #356)
  • Bug fix: hanlde Shopeepay cancel payment. (PR #361)


  • Added Krungthai NEXT mobile banking (PR #347)


  • Fix Uncaught Error: Call to a member function getShopeeBackend() on null. (PR #344)


  • Added ShopeePay for Thailand and Singapore. (PR #339)
  • Rebrand Lotus’s Bill Payment. (PR #336)
  • Replace ezypay with MBB in installments. (PR #333)
  • Fixed the method to get currency to the correct method. (PR #338)
  • Code Coverage Integration with Sonarcloud. (PR #337)
  • Fix the compatible issue with PHP 7.2 and below. (PR #342)


  • Rebrand Omise to Opn Payments. (PR #329)
  • Update the links from Dashboard v1 to v2. (PR #330)
  • Changed missing text from Omise to Opn Payments. (PR #331)


  • Metadata keys is_omise_payment_resolved added as protected metadata. (PR #324)
  • Fix the issue of customer getting back to checkout page from OTP page. (PR #323)
  • Fixed the credit card form’s UI issue with default theme. (PR #322)
  • Added a delay of 0.5 seconds before calling the charge API in callback class so that we can fetch correct charge status. (PR #321)
  • Increased the delay to 2 seconds and added a check for OCBC PAO redirect URL. (PR #327)


👾 Bug Fixes

  • Fixed the conflict between Omise and other payment gateway (PR #317)
  • Added Validation on FPX and DuitNow checkout to select the bank (PR #316)
  • Fixed customer cannot pay if the omise customer is removed from the API. (PR #318)
  • Fixed Promptpay QR image format error on KPlus Android App (PR #319)


👾 Bug Fixes

  • Fix the issue of not being able to add new live keys. (PR #313)


👾 Bug Fixes

  • Fix the issue of user unable to set new keys when their old keys are expired. (PR #311)


  • Added Japanese translation for the error messages. (PR #301)
  • Update latest omise-php. (PR #297)

👾 Bug Fixes

  • Billing address details are removed from the POST data when creating card token. (PR #304)
  • Updated Omise_Capabilities class to prevent calling capabilities API when the keys are null. (PR #305)
  • Fix the issue of mobile banking redirect URI not working in Android chrome. (PR #309)


👾 Bug Fixes

  • Fixing the issue of card payment by reverting v4.23.2. (PR #299)


👾 Bug Fixes

  • Handle capabilities failed. (PR #294)


👾 Bug Fixes

  • Fixed issue of page broken when activate plugin version 4.23.0 (PR #293)


🚀 Enhancements

  • Added Boost, DuitNow QR, DuitNow Online Banking/Wallets, Maybank QRPay and ShopeePay payment methods. Update Touch ‘n Go to support non Alipay+. (PR #287)


🚀 Enhancements

  • Allow GrabPay payment in Thailand (PR #282)

👾 Bug Fixes

  • Fix the issue of order status changing to failed when user tries to capture a charge that’s already been captured. (PR #281)


👾 Bug Fixes

  • Fixed the issue of creating GooglePay live mode payments (PR #280)


🚀 Enhancements

  • Added GooglePay payment method (PR #278)


🚀 Enhancements

  • Update FPX logo, banklist and terms & condition (PR #275)
  • Update assets Bank of China Logo for FPX (PR #274)


🚀 Enhancements

  • Added GrabPay payment method (PR #270)


🚀 Enhancements

  • Move OCBC Pay Anyone out of Mobile Banking (PR #265)


👾 Bug Fixes

  • Fixed the issue of cannot go to order confimation page after pay with OCBC Pay Anyone. (PR #262)


🚀 Bug Fixes

  • Fixed the issue of description set for Installment and TrueMoney wallet not displayed in the checkout page. (PR #260)


🚀 Enhancements

  • Update assets for mobile banking logos (PR #257)

👾 Bug Fixes

  • Fix issue with Rabbit LINE Pay being incompabible with older PHP versions (PR #256)


🚀 Enhancements

  • Add support for BBL Mobile Banking and BAY Mobile Banking (PR #252)


👾 Bug Fixes

  • Fix issue Mobile Banking and Rabbit LINE Pay not showing.


🚀 Enhancements

  • Add support for KBank Mobile Banking and SCB Mobile Banking (PR #246)
  • Add support for Rabbit LINE Pay (PR #248)

👾 Bug Fixes

  • Fix issue where capture button is still showing after payment is already captured
  • Fix issue where mobile banking payment options is display when checkout currency not supported (PR #249)


👾 Bug Fixes

  • Fix authentication issue


👾 Bug Fixes

  • Fix issue where place order button is not working correctly


🚀 Enhancements

  • Add support for OCBC Pay Anyone Mobile Banking (PR #239)


👾 Bug Fixes

  • Allow non Omise payment to send email to merchant once make order with status as oh-hold (PR #242)


🚀 Enhancements

  • Add support for Citi, Maybank (EzyPay), UOB, and TTB Installment (PR #236)

👾 Bug Fixes

  • Allow offline payment methods to send email when order status changes to processing (PR #237)


👾 Bug Fixes

  • No longer sends email to merchant when order status is on hold (PR #232)
  • Sends email to merchant when order status changes from on hold to processing (PR #233)


  • Revert breaking changes in v4.12 which causes the email configuration page to freeze


👾 Bug Fixes

  • Fix Paynow QR sent in new order email to merchant (PR #229)
  • No longer send email to merchant when order status is on hold (PR #230)


🚀 Enhancements

  • Add Alipay+ wallets (Only available in Singapore currently) (PR #227)


🚀 Enhancements

  • Introducing FPX payment method (only available in Malaysia) (PR #223)

👾 Bug Fixes

  • Fix PromptPay QR viewing issue after downloading from email (PR #222)
  • Fix phone number input box not showing (PR #225)


🚀 Enhancements

  • Update min amount for installment bay and kbank (PR #218)
  • Remove QR from email when charge is no longer pending (PR #219)
  • Enable credit/debit card payment methods in WooCommerce for MY (PR #220)


🚀 Enhancements

  • Change the minimum amount for installment payments from 3000 to 2000 THB. (PR #210)
  • Update Omise-PHP library from v2.11.2 to v2.13.0. (PR #211)

👾 Bug Fixes

  • Fix CVE-2020-29156 security vulnerability. (PR #213)


🚀 Enhancements

  • Updating the error message mapping for payment_rejected and failed_processing error codes. (PR #207)


🚀 Enhancements

  • Updating translation for Japanese language in konbini payment. (PR #204)
  • Adding support to online refunds in paynow. (PR #202)
  • Run tests using GitHub Actions. (PR #203)


🚀 Enhancements

  • Removing name attribute from card payment form. (PR #196)
  • Rendering barcode in mobile phones vertically to avoid breakline. (PR #197)
  • Refresh QR payment screen once customer completes payment. (PR #198)
  • Auto formatting card numbers in input field on checkout page and My account page. (PR #200)


✨ Highlights

  • Adding installment SCB support. (PR #193)


✨ Highlights

  • Introducing Konbini payment method. (PR #149)

🚀 Enhancements

  • PayNow, adding a link to the QR code url at the order-confirmation email. (PR #185)


🚀 Enhancements

  • Removing Gruntfile and package.json as no longer needed grunt-wp-i18n library. (PR #187)

👾 Bug Fixes

  • Updating deprecated functions in WooCommerce v3. (PR #189)
  • Adding permission to callback which helps to removes a warning message on WordPress 5.5. (PR #188)


✨ Highlights

  • Introducing PromptPay payment method (Thailand). (PR #170)

🚀 Enhancements

  • Bypassing Callback function for Offline payment methods. (PR #184)
  • Manual Sync, handling more cases: ‘expired’, ‘refunded’, ‘reversed’. (PR #183)
  • Cleaning up code style & indentation. (PR #182)


✨ Highlights

  • Refactoring Event Handlers, make the code support for asynchronous request to prevent race-condition from Webhook. (PR #179)
  • Revising Omise Settings. (PR #175)

🚀 Enhancements

  • Credit Card payment, updating order status to ‘processing’ for successful ‘auth-only’ payment. (PR #180)
  • Bump lodash from 4.17.15 to 4.17.19. (PR #178)
  • Revise order statuses (Part 1, failing payment should result as order failed). (PR #171)
  • PayNow: adding default payment instruction at the checkout page. (PR #169)
  • Reduce duplicated code from offline payment methods to a dedicated class. (PR #168)
  • Code Refactoring, simplifying Callback function. (PR #167)
  • Integrating WooCommerce refund’s reason parameter to Omise Refund object. (PR #165)
  • Be able to create a refund when placing an order with Alipay or Installment payment method. (PR #158)
  • Code refactoring, simplifying the ‘process_refund’ method. (PR #157)

📝 Documents

  • Create LICENSE. (PR #173)
  • Move usage docs to website. (PR #172)
  • README, updating document. (PR #159)


✨ Highlights

  • Introducing PayNow payment method (only available in Singapore) (PR #152)

🚀 Enhancements

  • (proposal) Code cleaning for payment method classes. (PR #153)
  • Payment Setting: properly display payment methods based on a given Omise Account (for admin) (PR #151)


✨ Highlights

  • Credit Card payment, automatically detect if a particular charge is processing using 3-D Secure feature (PR #146)

🚀 Enhancements

  • Code refactoring for a better i18n for strings that were in JS files (PR #147)
  • Refactoring offsite payment methods (introducing abstract offsite class) (PR #143)

📝 Documents

  • README, polishing and updating all missing contents (PR #145)


✨ Highlights

  • Introducing TrueMoney payment (only available in Thailand) (PR #139)

🚀 Enhancements

  • Bill Payment, correcting order status after a new order is placed (on-hold instead of pending-payment) (PR #142)
  • Adding ability to sync payment status to Bill Payment and TrueMoney Payment (PR #140)


👾 Bug Fixes

  • Billpayment – check if an order is made by Bill Payment before display a barcode. (PR #137)


✨ Highlights

👾 Bug Fixes

  • Event “charge.complete”, making sure that event’s charge id is identical with order transaction id. (PR #131)
  • Fixing calling Omise_Money’s non-static method statically. (PR #130)

📝 Documents

  • Updating, adding 2 missing payment methods at ‘Enable Payment Method’ section. (PR #127)


✨ Highlights

  • #118: Better way to handle amount subunit, adding support for more currencies.

🚀 Enhancements

  • #124: Updating npm vulnerable dependencies.


👾 Bug Fixes

  • #120: Properly assigning querystrings for the payment callback endpoints.


✨ Highlights

  • #115: Installment, display instalment monthly amount & interest fee at the checkout page.
  • #99: Introduce Installment payment method.

🚀 Enhancements

  • #114: Update Omise-PHP library from v2.11.1 to v2.11.2.
  • #113: Unifying stylesheet & fixing some broken styles.
  • #112: Correcting & enhancing payment response messages.
  • #111: Removing all redundant code regarding to WC Order transaction ID assignment.
  • #109: 🧹 Code Cleaning: Relocating ‘capture’ method from Omise_Payment class to Omise_Payment_Creditcard.
  • #108: Refactoring, unify Omise key(s)-defining into one place.
  • #101: Refactoring, simplifying payment processors.


🚀 Enhancements

  • #106: Removing unused stylesheet & js file.
  • #102: Migrating all related code to support Omise API version v2017-11-02.
  • #98: Added filter hooks for charge.description and charge.metadata.
  • #96: Refactoring plugin-initial code structure – part 3: Organizing Omise_Admin class.
  • #95: Refactoring plugin-initial code structure – part 2: Relocating, renaming functions and method.
  • #94: Refactoring plugin-initial code structure – part 1: Enhancing the behavior of checking dependency plugin.
  • #93: Upgrade Omise-PHP library from v2.8.0 to v2.11.1.
  • #91: Removing the deprecated function (from jQuery’s reported).
  • #86: README, update the installation instruction, enhance overall contents.

👾 Bug Fixes

  • #104: Omise Setting Page, sanitizing input fields before save.


✨ Highlights

  • Support multi currency (PR #84)

🚀 Enhancements

  • Remove legacy files and codes (that we no longer use) (PR #85)

👾 Bug Fixes

  • Issue #78 fatal error, if install omise plugin before woo commerce (PR #83, #88)


✨ Highlights

  • Introduce WebHook feature. (PR #62)
  • Add Omise Setting page and enhance Omise setting process. (PR #61)

🚀 Enhancements

  • Spell WordPress correctly! (PR #56) :by @mayukojpn)
  • Support WooCommerce 2.x series & PHP 5.4 (PR #59)


✨ Highlights

  • Support Alipay payment! (PR #48)
  • Be able to manual sync Omise charge status directly in a WooCommerce store. (PR #47)
  • Now can create a refund inside the order detail page! (for credit card payment method only). (PR #42)
  • Support Internet Banking payment! (PR #41, #46)
  • Switch to fully use ‘Omise-PHP’ library to connect with Omise API instead of the previous custom one. (PR #38)
  • Huge plugin code refactoring & provides a new plugin code structure (for anyone who did customize on the core code of plugin, please check this carefully!) (PR #36, #37, #39, #40)

🚀 Enhancements

  • Backward compatible with Omsie-WooCommerce v1.2.3. (PR #50)
  • Humanize messages that will be displayed on a user’s screen (PR #49)
  • Remove Omise Dashboard support. (PR #44)
  • Upgrade Omise-PHP library to v2.8.0 (the latest one). (PR #43)
  • Improve UX of the payment credit card form (after our UX team did researches on user behaviours on a credit card form). (PR #45)
  • Update plugin’s ‘text-domain’ to support GlotPress translation system. (PR #32 & #34. Big thanks for @mayukojpn)

👾 Bug Fixes

  • Fix ‘save credit card for next time’ feature for WooCommerce v3.x. (PR #45)


(Added) Add a new feature, localization
(Added) Add a translation file for Japanese
(Changed) Change a page header from transactions history to charges history
(Removed) Remove a link, view detail, from each row of transactions and transfers history table
(Removed) Remove sub-tabs, charges and transfers
(Removed) Remove an unused setting, description


(Improved) Specify the display size of card brand image and allow customer to define their own style
(Removed) Remove an unused unit test of the library, omise-php


(Added) Configuration for card brand logo display
(Added) List of transfers
(Fixed) Changing page by specify the page number which is not functional


(Added) manual capture feature
(Added) supported JPY currency
(Added) shortcut menu to Omise’s setting page
(Added) Included Omise-PHP 2.4.1 library to the project.
(Improved) Redesigned Omise Dashboard
(Improved) Re-ordered fields in Omise Setting page.
(Improved) Better handle error cases (error messages)
(Improved) Better handle WC order note to trace Omise’s actions back.
(Improved) Revised PHP code to following the WordPress Coding Standards.
(Improved) Fixed/Improved various things.


Added Omise-Version into the cURL request header.


Adds support for 3-D Secure feature