Download the PHP package mostafax/payment-engine without Composer

On this page you can find all versions of the php package mostafax/payment-engine. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package payment-engine

mostafax/payment-engine

Enterprise Payment Orchestration, Reconciliation, Recovery & Monitoring Platform for Laravel

Latest Version PHP Version Laravel Version License


Overview

mostafax/payment-engine transforms any Laravel application into a full payment orchestration platform. It provides a unified driver interface across 7 payment gateways, an immutable transaction ledger, a webhook reliability layer with Dead Letter Queue, automated reconciliation, stale-transaction recovery, and historical backfill — all event-driven and multi-tenant ready.

Author: Mostafa Elbayyar
Documentation: https://mostafax2.github.io/payment-engine/
Support: [email protected]


Supported Gateways

Gateway Region Status
KNET Kuwait/Gulf ✅ Full Support
MyFatoorah Gulf & MENA ✅ Full Support
Tap Payments MENA ✅ Full Support
PayTabs MENA/Global ✅ Full Support
Stripe Global ✅ Full Support
PayPal Global ✅ Full Support
Fawry Egypt / MENA ✅ Full Support

Key Features


Requirements


Installation

Option A — One Command (Recommended)

payment:install automatically:

Option B — Manual

Configure .env

4. Exclude Callbacks from CSRF

5. Start Queue Workers


Basic Usage

Initiate a Payment

Listen to Events

Live Gateway Inquiry


Reconciliation


Historical Backfill


API Endpoints

All endpoints require Authorization: Bearer {token} (Laravel Sanctum) except webhook receivers.

Method Endpoint Description
POST /api/payment/initiate Initiate payment, get redirect URL
GET /api/payment/transactions Paginated list (filter by gateway/status/date)
GET /api/payment/transactions/{ulid} Transaction + full audit trail
POST /api/payment/inquire/{trackId} Live gateway status check
POST /api/payment/reconcile Trigger reconciliation
GET /api/payment/reconciliation/reports Paginated reports
GET /api/payment/reconciliation/reports/{ulid} Report with mismatch items
POST /api/payment/webhook/{gateway} Receive push webhooks (no auth, sig verified)
ANY /payment/{gateway}/success KNET/PayTabs success callback
ANY /payment/{gateway}/error KNET/PayTabs error callback

Database Tables

Table Purpose
pe_transactions Central payment ledger (ULID, multi-tenant, status lifecycle)
pe_transaction_events Append-only audit trail for every status change
pe_webhook_payloads Raw payload persistence + retry state
pe_webhook_attempts Per-attempt log with exception trace
pe_reconciliation_reports Reconciliation run summaries
pe_reconciliation_items Individual mismatch records per report

Table names are configurable via config('payment-engine.tables.*').


Custom Gateway Driver

Implement PaymentDriverInterface to add any gateway:

Register it in your ServiceProvider:


Upgrade from 1.x (KNET-only)

  1. Update composer.json: "mostafax/payment-engine": "^2.0"
  2. Publish and run new migrations: php artisan vendor:publish --tag=payment-engine-migrations && php artisan migrate
  3. Publish new config: php artisan vendor:publish --tag=payment-engine-config
  4. Replace .env keys with new KNET_* prefixed names (see Installation above)
  5. Replace old CSRF exclusion knet/* with payment/*/success, payment/*/error
  6. Update namespace: Mostafax\Knet\* → Mostafax\PaymentEngine\*

Changelog

See CHANGELOG.md for full release history.


License

MIT — see LICENSE for details.


Author

Mostafa Elbayyar
Senior Software Engineer & Laravel Package Author
GitHub: @mostafax2
Email: [email protected]


All versions of payment-engine with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^10.0|^11.0|^12.0|^13.0
illuminate/queue Version ^10.0|^11.0|^12.0|^13.0
illuminate/events Version ^10.0|^11.0|^12.0|^13.0
illuminate/bus Version ^10.0|^11.0|^12.0|^13.0
illuminate/cache Version ^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/http Version ^10.0|^11.0|^12.0|^13.0
illuminate/routing Version ^10.0|^11.0|^12.0|^13.0
illuminate/notifications Version ^10.0|^11.0|^12.0|^13.0
guzzlehttp/guzzle Version ^7.5
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mostafax/payment-engine contains the following files

Loading the files please wait ...