Download the PHP package sixersoft/eps without Composer
On this page you can find all versions of the php package sixersoft/eps. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sixersoft/eps
More information about sixersoft/eps
Files in sixersoft/eps
Package eps
Short Description EPS Payment Gateway for Laravel - Easy Payment System (eps.com.bd). Simple integration with token, payment initialization, verification, and optional currency conversion to BDT.
License MIT
Homepage https://github.com/sixersoft/eps
Informations about the package eps
EPS Payment Gateway for Laravel
sixersoft/eps — Simple, clean, and production-ready integration for EPS (Easy Payment System) Bangladesh (eps.com.bd).
- Official API support (Get Token → Initialize Payment → Verify Transaction)
- Optional automatic currency conversion (USD / EUR / any → BDT)
- Clean Facade + Service injection
- Sandbox + Production ready
- Full hash generation exactly as per EPS official guide (HMAC-SHA512 + Base64)
- Detailed logging
Installation
1. Install via Composer
2. Publish the configuration file
This will create config/eps.php.
3. Add credentials to .env
4. (Optional) Clear cache
Basic Usage
Using Facade (Recommended - Easiest)
Using Dependency Injection
Verify Payment (in success/fail/cancel routes)
Important: Always call verifyTransaction() on callback pages for security.
Currency Conversion to BDT (The Special Feature)
EPS only accepts amounts in BDT. This package makes it dead simple to accept payments in other currencies.
Enable in config/eps.php or .env
Usage
Manual Conversion (anywhere in your app)
How to keep rates updated?
Recommended (simple & free):
- Update rates manually in
config/eps.phpor.envevery few days. - Or create a daily command that fetches from a free API (exchangerate.host, etc.) and calls
EPS::currency()->setRate().
You can completely disable the feature (EPS_CURRENCY_CONVERSION=false) — the package will then expect you to always pass BDT amount.
Full Configuration Reference
See the published config/eps.php. Most important keys are in .env.
You can also override at runtime:
Required Fields for initializePayment()
| Field | Required | Notes |
|---|---|---|
success_url |
Yes | Your success callback |
fail_url |
Yes | Your fail callback |
cancel_url |
Yes | Your cancel callback |
customer_name |
Yes | |
customer_email |
Yes | |
customer_phone |
Yes | |
customer_address |
Yes | |
customer_city |
Yes | |
customer_state |
Yes | |
customer_postcode |
Yes | |
amount + currency |
Yes* | Or use total_amount (in BDT) |
Optional but recommended:
product_nameproducts(array for ProductList)customer_order_idmerchant_transaction_id(auto-generated if not provided — must be unique)
Callback URLs Best Practice
Create three routes in your app:
Pass these exact URLs when calling initializePayment().
In the callback controllers, always verify using EPS::verifyTransaction().
Logging
All requests/responses are logged to your default log channel (or EPS_LOG_CHANNEL).
Check storage/logs/laravel.log for [EPS Package].
Testing / Sandbox
Use the sandbox credentials provided by EPS.
Example sandbox credentials (for testing only — replace with yours):
After going live, set EPS_IS_SANDBOX=false and use production credentials.
Example Full Flow (Controller)
Ready-to-use example files are included in the examples/ folder of this package:
examples/PaymentController.php— Complete controller with checkout, pay, success, fail, cancelexamples/routes.php— Sample routes to add in yourweb.php
Copy them into your project and customize as needed.
A beautiful demo product page (from the original integration) is also available in the GitHub repository.
Security Notes
- Never expose your
hash_key,passwordetc. - Always verify transactions server-side using
verifyTransaction(). - Use HTTPS for all callback URLs in production.
- Store
merchant_transaction_idin your database for reconciliation.
Contributing
Pull requests are welcome! Please open an issue first for major changes.
License
MIT License. See LICENSE file.
Support
- Official EPS: https://www.eps.com.bd
- Package issues: GitHub Issues
- Email: [email protected] (for this package)
Developed by SixerSoft — Making Bangladesh payment integration easy.
Repository: https://github.com/sixersoft/eps
Packagist: https://packagist.org/packages/sixersoft/eps
Happy integrating! 🇧🇩
All versions of eps with dependencies
illuminate/support Version ^10.0|^11.0|^12.0
illuminate/http Version ^10.0|^11.0|^12.0