plan-a23 / egpayment
1.0.1
2023-06-16 12:38 UTC
Requires
- php: >=8.1
- ext-curl: *
- ext-json: *
- laravel/framework: >=9.0
- paypal/paypal-checkout-sdk: 1.0.2
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
README
Egypt Payment Laravel Package
Supported gateways
- PayPal
- PayMob
- WeAccept
- Kashier
- Fawry
- HyperPay
- Thawani
- Tap
- Opay
- Paytabs
- E Wallets (Vodafone Cash - Orange Money - Meza Wallet - Etisalat Cash)
Installation
You can install the package via composer:
composer require plan-a23/egpayment
Publish Vendor Files
php artisan vendor:publish --tag="PlanA23-payments-config" php artisan vendor:publish --tag="PlanA23-payments-lang"
config file PlanA23-payments.php file
<?php return [ #PAYMOB 'PAYMOB_API_KEY' => env('PAYMOB_API_KEY'), 'PAYMOB_INTEGRATION_ID' => env('PAYMOB_INTEGRATION_ID'), 'PAYMOB_IFRAME_ID' => env('PAYMOB_IFRAME_ID'), 'PAYMOB_HMAC' => env('PAYMOB_HMAC'), 'PAYMOB_CURRENCY'=> env('PAYMOB_CURRENCY',"EGP"), #HYPERPAY 'HYPERPAY_BASE_URL' => env('HYPERPAY_BASE_URL', "https://eu-test.oppwa.com"), 'HYPERPAY_URL' => env('HYPERPAY_URL', env('HYPERPAY_BASE_URL') . "/v1/checkouts"), 'HYPERPAY_TOKEN' => env('HYPERPAY_TOKEN'), 'HYPERPAY_CREDIT_ID' => env('HYPERPAY_CREDIT_ID'), 'HYPERPAY_MADA_ID' => env('HYPERPAY_MADA_ID'), 'HYPERPAY_APPLE_ID' => env('HYPERPAY_APPLE_ID'), 'HYPERPAY_CURRENCY' => env('HYPERPAY_CURRENCY', "SAR"), #KASHIER 'KASHIER_ACCOUNT_KEY' => env('KASHIER_ACCOUNT_KEY'), 'KASHIER_IFRAME_KEY' => env('KASHIER_IFRAME_KEY'), 'KASHIER_TOKEN' => env('KASHIER_TOKEN'), 'KASHIER_URL' => env('KASHIER_URL', "https://checkout.kashier.io"), 'KASHIER_MODE' => env('KASHIER_MODE', "test"), //live or test 'KASHIER_CURRENCY'=>env('KASHIER_CURRENCY',"EGP"), 'KASHIER_WEBHOOK_URL'=>env('KASHIER_WEBHOOK_URL'), #FAWRY 'FAWRY_URL' => env('FAWRY_URL', "https://atfawry.fawrystaging.com/"),//https://www.atfawry.com/ for production 'FAWRY_SECRET' => env('FAWRY_SECRET'), 'FAWRY_MERCHANT' => env('FAWRY_MERCHANT'), #PayPal 'PAYPAL_CLIENT_ID' => env('PAYPAL_CLIENT_ID'), 'PAYPAL_SECRET' => env('PAYPAL_SECRET'), 'PAYPAL_CURRENCY' => env('PAYPAL_CURRENCY', "USD"), 'PAYPAL_MODE' => env('PAYPAL_MODE',"sandbox"),//sandbox or live #THAWANI 'THAWANI_API_KEY' => env('THAWANI_API_KEY', ''), 'THAWANI_URL' => env('THAWANI_URL', "https://uatcheckout.thawani.om/"), 'THAWANI_PUBLISHABLE_KEY' => env('THAWANI_PUBLISHABLE_KEY', ''), #TAP 'TAP_CURRENCY' => env('TAP_CURRENCY',"USD"), 'TAP_SECRET_KEY'=>env('TAP_SECRET_KEY',''), 'TAP_PUBLIC_KEY'=>env('TAP_PUBLIC_KEY',''), 'TAP_LANG_KEY'=>env('TAP_LANG_KEY','ar'), #OPAY 'OPAY_CURRENCY'=>env('OPAY_CURRENCY',"EGP"), 'OPAY_SECRET_KEY'=>env('OPAY_SECRET_KEY'), 'OPAY_PUBLIC_KEY'=>env('OPAY_PUBLIC_KEY'), 'OPAY_MERCHANT_ID'=>env('OPAY_MERCHANT_ID'), 'OPAY_COUNTRY_CODE'=>env('OPAY_COUNTRY_CODE',"EG"), 'OPAY_BASE_URL'=>env('OPAY_BASE_URL',"https://sandboxapi.opaycheckout.com"),//https://api.opaycheckout.com for production #PAYMOB_WALLET (Vodafone-cash,orange-money,etisalat-cash,we-cash,meza-wallet) - test phone 01010101010 ,PIN & OTP IS 123456 'PAYMOB_WALLET_INTEGRATION_ID'=>env('PAYMOB_WALLET_INTEGRATION_ID'), #Paytabs 'PAYTABS_PROFILE_ID' => env('PAYTABS_PROFILE_ID'), 'PAYTABS_SERVER_KEY' => env('PAYTABS_SERVER_KEY'), 'PAYTABS_BASE_URL' => env('PAYTABS_BASE_URL',"https://secure-egypt.paytabs.com"), 'PAYTABS_CHECKOUT_LANG' => env('PAYTABS_CHECKOUT_LANG',"AR"), 'PAYTABS_CURRENCY'=>env('PAYTABS_CURRENCY',"EGP"), 'VERIFY_ROUTE_NAME' => "payment-verify", 'APP_NAME'=>env('APP_NAME'), ];
Web.php MUST Have Route with name “payment-verify”
Route::get('/payments/verify/{payment?}',[YourPaymentController::class,'payment_verify'])->name('payment-verify');
Usage
To Use PayMob Payment
use PlanA23\EGPayment\PaymobPayment;
To Use PayMob Wallet Payment
use PlanA23\EGPayment\PaymobWalletPayment;
To Use Fawry Payment
use PlanA23\EGPayment\FawryPayment;
To Use HyperPay Payment
use PlanA23\EGPayment\HyperPayPayment;
To Use Kashier Payment
use PlanA23\EGPayment\KashierPayment;
To Use PayPalPayment
use PlanA23\EGPayment\PayPalPayment;
To Use Thawani Payment
use PlanA23\EGPayment\ThawaniPayment;
To Use Tap Payment
use PlanA23\EGPayment\TapPayment;
To Use Opay Payment
use PlanA23\EGPayment\OpayPayment;
To Use PayTabs Payment
use PlanA23\EGPayment\PaytabsPayment;
Payments Function
pay function
$payment->pay( $amount, $user_id = null, $user_first_name = null, $user_last_name = null, $user_email = null, $user_phone = null, $source = null );
or
$payment->setUserId($id) ->setUserFirstName($first_name) ->setUserLastName($last_name) ->setUserEmail($email) ->setUserPhone($phone) ->setCurrency($currency) ->setAmount($amount) ->pay(); );
response
[ "payment_id"=>"", "redirect_url"=>"", "html"=>"" ]
payment_id: refrence code that should stored in your orders table
redirect_url: redirect url available for some payment gateways
html: rendered html available for some payment gateways
verify function
$payment->verify($request);
response
[
"success"=>true,
"payment_id"=>"PID",
"message"=>"Done Successfully",
"process_data"=>""
]
Test Cards
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email ahmed.m.eid.2001@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.