EPS - Easy Payment System
EPS Accept Visa, Mastercard, and Mobile Financial Services (MFS) payments on your WooCommerce store using the [EPS (Easy Payment System)](https://eps.com.bd) payment gateway — Bangladesh's secure digital payment platform.
by EPS Team · github.com/themubiin/eps_woocommerce · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/themubiin/eps_woocommerce/archive/refs/heads/main.zip
EPS – Easy Payment System for WooCommerce
Accept Visa, Mastercard, and Mobile Financial Services (bKash, Nagad, etc.) payments on your WooCommerce store using the EPS (Easy Payment System) payment gateway — Bangladesh's secure digital payment platform.
Features
- Supports Visa, Mastercard, and MFS (bKash, Nagad, Rocket, etc.)
- Fully compatible with WooCommerce Blocks & Classic Checkout
- Modern Pre-Payment Redirection Overlay with smooth loading animation
- Secure HMAC-SHA512 request signing
- Sandbox & Production environment mode switching
- Gateway Sync — pull transaction history directly from EPS (7 days / 12 months)
- Modernized transaction dashboard inside WordPress admin with live status badges
- Lightweight — fast, secure, and zero unnecessary bloat
Requirements
| Requirement | Version |
|---|---|
| WordPress | 5.8 or higher |
| WooCommerce | 6.0 or higher |
| PHP | 7.4 or higher |
| EPS Merchant Account | Register here |
Installation
From WordPress Dashboard (Recommended)
- Download the plugin
.zipfrom this repository (Code → Download ZIP) - Log in to your WordPress Dashboard → Plugins → Add New
- Click Upload Plugin → Choose the
.zipfile → Install Now - Click Activate Plugin
Manual (via FTP)
- Extract the
.zipfile - Upload the folder to
/wp-content/plugins/ - Go to WordPress Dashboard → Plugins → Activate EPS – Easy Payment System
Configuration
- Go to WordPress Dashboard → EPS Payment → Settings
- Enter your merchant credentials:
- User Name
- Password
- Hash Key
- Merchant ID
- Store ID
- Select Mode:
Sandbox(testing) orProduction(live) - Click Save Changes
- Go to WooCommerce → Settings → Payments → Enable EPS
Video Tutorial: Watch on YouTube
Security
This plugin implements the following security measures:
- HMAC-SHA512 request signing on all API calls
- SSL/TLS verification enforced on all outbound requests
- Transaction ID bound to order meta and verified on payment return
- Orders only marked Paid after gateway confirms
Successstatus - All database queries use
$wpdb->prepare()(SQL injection prevention) - Settings stored as JSON (not PHP serialized objects)
- All admin AJAX endpoints require
manage_optionscapability + nonce - Cryptographically secure invoice ID generation (
random_bytes) - All user inputs sanitized before processing or storage
Recent Improvements
- Modern Settings UI: Clean, compact 2-column layout with quick environment switching pills.
- Enhanced Dashboard: Updated transaction table with clean status badges, formatted BDT amounts, and direct order links.
- Refined Controls: Unified 38px button heights, vector icons, and seamless gateway sync.
- Redirection Animation: Smooth backdrop blur and pulsing EPS loader when customer places order.
- Security & Stability Fixes:
- Prevented premature order completion on failed payments.
- Eliminated SQL injection vulnerability in token retrieval.
- Resolved PHP notice for
$modevariable on transaction view. - Enforced SSL verification across all outbound HTTP requests.
- Upgraded table migrations across both production and sandbox tables.
Plugin Structure
EPS/
├── assets/ # CSS, JS, branding images
├── includes/
│ ├── API/ # REST API controllers
│ ├── Admin/ # Admin menu, settings & transaction views
│ ├── Frontend/ # Frontend hooks & assets
│ ├── Gateway/ # Payment gateway logic (EPS.php, Processor.php)
│ ├── Installer.php # Database migrations & upgrades
│ └── functions.php # Helper functions & AJAX endpoints
├── class-block.php # WooCommerce Blocks checkout support
├── checkout.js # Blocks checkout script
└── woo-payment-eps.php # Main plugin entry point
Development
# Clone the repository
git clone https://github.com/themubiin/EPS_Woocommerce.git
# Navigate to folder and install dependencies
cd EPS_Woocommerce
composer install
Support
- Website: https://eps.com.bd
- For plugin issues, open a GitHub Issue
- Setup Guide: YouTube Tutorial
Contributors
| Contributor | Role |
|---|---|
| EPS Team | Author & Maintainer |
| Muntasir Mubin | Contributor |
License
This plugin is licensed under the GPL-2.0 License.
Made with ❤️ for Bangladesh's digital payment ecosystem