Setup Guide | ML ePay for WooCommerce



  • Require active account & license at



  • Click on top menu "Downloads"


  • Go to: ML ePay ❯ WooCommerce ❯ Stable


  • Download the Latest Plugin version on your computer.


- If you do not see file, that mean you do not have an active license


- Plugin version is numbers at the ending of filename here below represented by x.x.x:



  • Extract ""


  • Using FTP or SFTP, upload extracted folder to the wp-content/plugins folder in the root of your WordPress installation, see below how to find it.



- You need to allow overwrite files

- Uploding files by not using FTP or SFTP can fail with not enough values in your php.ini file server configuration for these parameters: memory_limit ; upload_max_filesize ; post_max_size ; max_execution_time


The location of the root of your WordPress installation depends on where you originally installed WordPress, and is also driven by your webhosting provider.


Common folder locations to check are:


You know you’ve found the right folder when you see the following subfolders:



If you can’t find the root of your WordPress installation, get in touch with your webhosting provider and ask them
to help you locate it. In most cases, it's the same as the document root.



FTP Upload example, when the location of the root of your WordPress installation have this path:    /home/YOURUSERNAME/public_html


  • Login to your WordPress Admin Panel


  • Go to Plugins screen


  • Check that WooCommerce Plugin is ever activated, if not you have to activate it first


  • Find the newly uploaded Plugin ML ePay Payment Gateway For WooCommerce in the list


  • Click Activate to activate the Plugin.

  • In WordPress Admin Panel, go in WooCommerce ❯ Settings ❯ "General" Tab


  • At "General Options", check that at "API", Enable the REST API is ticket


  • At "Currency Options", Check that "Currency" is set to Philippine Pesos as only this currency is supported by ML ePay Gateway

  • Still in: WooCommerce ❯ Settings


  • Go in "Checkout" Tab


  • Go at bottom page ❯ at "Gateway Display Order", you can Drag and drop gateways to control their display order on the frontend and tick the default gateway you want and save

  • Still in: WooCommerce ❯ Settings ❯ "Checkout" Tab


  • Click on ML ePay Link


  • Enable/Disable:

This controls whether the ML ePay Gateway is enabled or not at Checkout.


  • Title:

This controls the title which the user sees during checkout.


  • Description:

This controls the description which the user sees during checkout.


  • Plugin License Key:

Insert Plugin License Key ordered at


  • License Status:

Display automatically your License Status

After saving your above Plugin License Key, you can force a refresh by logout and Login to WordPress Admin Panel


  • Merchant Email Address:

Insert Merchant Email Address registered at ML ePay.

It's can be found by Login at ML ePay ❯ Click the top-right side drop-down list ❯ Account ❯ "Account Information" section.


  • Merchant Secret Key

Insert Merchant Secret Key provided by ML ePay.

It's can be found by Login at ML ePay ❯ Click the top-right side drop-down list ❯ Account ❯ "API Information" section.


  • Time Allowed to Pay (in days):

Allowed time in days for makes cash payment, after that transaction code expire.

We recommend to allow at least 3 days.


  • Transaction Instructions:

This controls the instruction which the user sees when transaction code is displayed after checkout.


  • Debug Log:

Enable this if you want Log ML ePay events, such as Transaction Code created, Notification, inside: log file


  • Webhook URL:

Webhook URL must be set in your ML ePay Account


  • Important:

Set your Webhook URL in your ML ePay Account, it's displayed in red color at bottom page here:

WooCommerce ❯ Settings ❯ "Checkout" Tab ❯ ML ePay


Next, Login at ML ePay ❯ Click the top-right side drop-down list ❯ Account ❯ Edit Profile ❯ "API Information" section:

1/ Set "Webhook URL" by clicking on field for "Webhook URL"

2/ Enable "Webhook Status"


  • ML ePay do not offer Test/Sandbox Account but offer in place easy methods allowing to test without using real money transactions.


  • We recommend you to enable "Debug Log" at your WooCommerce - ML ePay Parameters:

    WooCommerce ❯ Settings ❯ "Checkout" Tab ❯ Click on ML ePay Link ❯ enable "Debug Log"



  • Create an user at your wordpress, makes this user have all email address (account, billing, shipping ..) set to: ; So ML ePay gateway will recognize it's for testing:


WordPress Admin Panel ❯ Users ❯ Add New.

Once the user has been added, go at "All Users" and edit user you just created:

1/ As "Role", select "Customer"

2/ Now, "Customer Billing Address" and "Customer Shipping Address" sections are displayed, complete all fields and use for every email address and save.


  • At your Shop frontend ❯ Add an item to your cart ❯ Next Click "View Cart"


  • At checkout, sign in as Returning Customer using customer:


  • Choose ML ePay as the payment method ❯ Click "Place Order"


After new page loading, you should see the Transaction Code.

If you have no Transaction Code Displayed or error, please check the debug log file content for better understanding.



  • Notifications are back-end server-to-server communications send by the gateway for your shopping cart update orders status.


  • There is notification simulator tool available at your ML ePay account (available when logged in):


Login to your Ml ePay account ❯ Go to bottom of API Documentation page.

At Transaction Code, use Transaction Code from a WooCommerce order: edit Order at WooCommerce to find it in the Orders Notes.

At Sender Email, use: , so ML ePay gateway will recognize it's for testing

At Expiry (UNIX Timestamps), you must have a FUTURE date in the Epoch-UNIX Timestamps format

You can use this tool to convert a future date to the Epoch format:

example: Wed, 27 May 2015 12:21:53 GMT is matching to this epoch time: 1432729313

At at Payload, use an existing WooCommerce order number, without any #



  • Also note that ML ePay plugin for WooCommerce only update on first new status from ML ePay Notification and will not consider duplicate notification for the same status.


Supposing that a given WooCommerce order has ever been updated to Processing status from an ML ePay Notification (PAID Transaction), so now if you re-use notification simulator still using same:

- Notification Type: PAID
- Payload

So in above example case, none update will be done and no Orders Notes will be added at WooCommerce, as it's just a duplicate Notification.



ML ePay WooCommerce
Status Code Description Previous Order Status Updated Order Status
CREATED Transaction Code Created Pending Payment On Hold
PAID Transaction has already been paid by the customer or buyer. On Hold Processing
EXPIRED Transaction has expired without payment. (*) On Hold Cancelled
CANCELLED Transaction has been cancelled without payment. On Hold Cancelled

* Transaction expire when customer do not pay in the time you allowed.



The "Complete" order status at wooCommerce is not managed/updated by the payment gateway plugin because it's a logistic matter, so admin can update status manually or rely on a logistics plugin that could auto update WooCommerce order to the "Complete" status.

Back to Top

Please rate this article to help us improve our Knowledge Base.

9 0