Download the PHP package almesery/laravel-geidea without Composer
On this page you can find all versions of the php package almesery/laravel-geidea. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download almesery/laravel-geidea
More information about almesery/laravel-geidea
Files in almesery/laravel-geidea
Package laravel-geidea
Short Description Geidea Payment Gateway integration for Laravel
License MIT
Informations about the package laravel-geidea
Laravel Geidea Payment Gateway
A Laravel package for integrating Geidea payment gateway with support for Egypt, Saudi Arabia, and UAE.
Features
- Multi-environment support (Egypt, KSA, UAE)
- Multi-currency support (EGP, SAR, AED)
- Multi-language support (Arabic, English)
- Session-based payment flow with HPP (Hosted Payment Page)
- Comprehensive logging
- Easy configuration
- Facade support
- Helper functions
Requirements
- PHP ^8.1|^8.2|^8.3|^8.4|^8.5
- Laravel ^10.0 or ^11.0
Note: PHP 8.5 is currently in pre-release. While this package declares support for it, some dependencies in your project may not yet be compatible. For production use, we recommend PHP 8.2, 8.3, or 8.4 (stable versions).
Installation
Publish Configuration
Configuration
Add to your .env file:
Usage
Using Facade
Using Helper Functions
Controller Example
Create a controller to handle payment flow:
Routes Example
Add these routes to your routes/web.php:
Blade Views Examples
Checkout Page (resources/views/payment/checkout.blade.php)
Success Page (resources/views/payment/success.blade.php)
Failed Page (resources/views/payment/failed.blade.php)
API Reference
createSession(array $params)
Creates a payment session.
Parameters:
amount(float, required): Payment amountcurrency(string, optional): Currency code (EGP, SAR, AED). Defaults to config valuemerchant_reference_id(string, optional): Your unique reference IDcallback_url(string, required): URL to redirect after paymentreturn_url(string, optional): Alternative return URLlanguage(string, optional): Language code (ar, en). Defaults to config valuecustomer(array, optional):email(string)name(string)phone_number(string)
Returns:
getOrder(string $orderId)
Retrieves order details.
Parameters:
orderId(string, required): The Geidea order ID
Returns:
getHppScriptUrl()
Returns the HPP script URL for the current environment.
getMerchantPublicKey()
Returns the merchant public key.
Logging
All API calls are logged to storage/logs/geidea.log. The log includes:
- Session creation attempts
- Order retrieval attempts
- API responses
- Errors and exceptions
Testing
Environment Support
The package supports three environments:
Egypt
- API:
https://api.merchant.geidea.net - HPP:
https://www.merchant.geidea.net/hpp/geideaCheckout.min.js - Currency: EGP
Saudi Arabia (KSA)
- API:
https://api.ksamerchant.geidea.net - HPP:
https://www.ksamerchant.geidea.net/hpp/geideaCheckout.min.js - Currency: SAR
United Arab Emirates (UAE)
- API:
https://api.geidea.ae - HPP:
https://payments.geidea.ae/hpp/geideaCheckout.min.js - Currency: AED
Security
- All API calls use HTTPS
- HMAC-SHA256 signature for payment sessions
- Basic authentication with merchant credentials
- Sensitive data is never logged
License
MIT License - see LICENSE file for details
Support
For issues and questions, please open an issue on GitHub.
Credits
Developed by Almesery
All versions of laravel-geidea with dependencies
illuminate/support Version ^10.0|^11.0
illuminate/http Version ^10.0|^11.0
illuminate/routing Version ^10.0|^11.0
guzzlehttp/guzzle Version ^7.0