thejano / areeba-payment-laravel
A Laravel package for Areeba payment gateway integration.
Installs: 18
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/thejano/areeba-payment-laravel
Requires
- php: >=8.2
- illuminate/support: ^11.0|^12.0
README
A Laravel package for integrating with Areeba Payment Gateway.
Payment Flow
This flow requires you to redirect the end-user to the payment page as advised in the redirectUrl response.
- Initiate the payment with the appropriate API call.
- Upon success, the Gateway responds with a result containing returnTypeasREDIRECTand the URL inredirectUrl.
- You redirect the user to the given URL (usually via a Locationheader).
- The user completes the payment process on the payment page.
- The Gateway sends an asynchronous status notification to the URL provided in the initial API call.
- The user will be redirected to the successUrl,errorUrl, orcancelUrlbased on the transaction status. The URL will contain thetransactionIdas a query parameter:url?transactionId={{$transactionId}}.
Installation
You can install the package via Composer:
composer require thejano/areeba-payment-laravel
Configuration
Publish the configuration file:
php artisan vendor:publish --provider="TheJano\AreebaPayment\Providers\AreebaPaymentServiceProvider"
This will create a config/areeba.php file.
Set your environment variables in .env:
AREEBA_API_KEY=your_api_key AREEBA_USERNAME=your_username AREEBA_PASSWORD=your_password AREEBA_BASE_URL=https://gateway.areebapayment.com/api/v3 AREEBA_LANGUAGE=en AREEBA_TRANSACTION_PREFIX=MYAPP- AREEBA_SUCCESS_REDIRECT_URL=https://yourapp.com/payment/success AREEBA_ERROR_REDIRECT_URL=https://yourapp.com/payment/error AREEBA_CANCEL_REDIRECT_URL=https://yourapp.com/payment/cancel AREEBA_CALLBACK_REDIRECT_URL=https://yourapp.com/payment/callback
Usage
Using the Service Class for Payment Initiation
use TheJano\AreebaPayment\Services\AreebaPayment; $paymentData = AreebaPayment::make()->initiatePayment('TXN123456', '100.00', 'John Doe'); $paymentUrl = $paymentData->redirectUrl; return redirect($paymentUrl);
Using the Facade
use TheJano\AreebaPayment\Facades\AreebaPayment; $paymentData = AreebaPayment::initiatePayment('TXN123456', '100.00', 'John Doe'); $paymentUrl = $paymentData->redirectUrl; return redirect($paymentUrl);
Request Response Data Properties
The AreebaPaymentRequestData contains the following properties:
- success(bool) - Indicates if the request was successful.
- uuid(string|null) - Unique identifier for the transaction.
- purchaseId(string|null) - The purchase reference ID.
- returnType(string|null) - Type of return response (e.g.,- REDIRECT).
- redirectUrl(string|null) - URL where the user should be redirected to complete payment.
- paymentMethod(string|null) - Payment method used by the user.
- errorMessage(string|null) - Error message in case of failure.
- errorCode(int|null) - Error code if the transaction failed.
Based on the transaction status, the user will be redirected to the appropriate URL with ?transactionId={{$transactionId}} appended.
Checking Payment Status
use TheJano\AreebaPayment\Facades\AreebaPayment; $checkResponse = AreebaPayment::checkPaymentStatus('TXN123456');
This will return a JSON response including transactionStatus with possible values:
- SUCCESS- Transaction was successful.
- REDIRECT- Transaction has not been processed yet.
- ERROR- Transaction failed.
License
This package is open-source and licensed under the MIT License.
API Documentation
For more details, visit the official API documentation: