Releases: Nafezly/payments
Releases · Nafezly/payments
V2.2.9
v2.2.9 fix paypal
V2.2.8
v2.2.8 add PayTabs
V2.2.4
v2.2.4 updates
v2.2.3
updates
v2.2.2
Fluent Interface
v2.2.1
Fluent Interface
V2.2.7
add PayTabs
V2.2.6
add PayTabs
V2.1.0
Nafezly Payment Gateways
Payment Helper of Payment Gateways ( PayPal - Paymob - Fawry - Thawani - WeAccept - Kashier - Hyperpay - Tap - Opay - Paytabs - Vodaphone Cash - Orange Money - Meza Wallet - Etisalat Cash)
PaytabsPayment
PaymobWalletPayment
Supported gateways
- PayPal
- PayMob
- WeAccept
- Kashier
- Fawry
- HyperPay
- Thawani
- Tap
- Opay
- Paytabs
- E Wallets (Vodaphone Cash - Orange Money - Meza Wallet - Etisalat Cash)
Installation
composer require nafezly/payments
Publish Vendor Files
php artisan vendor:publish --tag="nafezly-payments-config"
php artisan vendor:publish --tag="nafezly-payments-lang"
nafezly-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_URL' => env('KASHIER_URL', "https://checkout.kashier.io"),
'KASHIER_MODE' => env('KASHIER_MODE', "test"), //live or test
'KASHIER_CURRENCY'=>env('KASHIER_CURRENCY',"EGP"),
#FAWRY
'FAWRY_URL' => env('FAWRY_URL', "https://atfawry.fawrystaging.com/"),//or 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"),
#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','sk_test_XKokBfNWv6FIYuTMg5sLPjhJ'),
'TAP_PUBLIC_KEY'=>env('TAP_PUBLIC_KEY','pk_test_EtHFV4BuPQokJT6jiROls87Y'),
'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 (vodaphone-cash,orange-money,etisalat-cash,we-cash,meza-wallet)
'PAYMOB_WALLET_INTEGRATION_ID'=>env('PAYMOB_WALLET_INTEGRATION_ID'),
'PAYMOB_WALLET_PHONE'=>env('PAYMOB_WALLET_PHONE'),
#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' => "verify-payment",
'APP_NAME'=>env('APP_NAME')
];
Web.php MUST Have Route with name “payment-verify”
Route::get('/payments/verify/{payment?}',[FrontController::class,'payment_verify'])->name('payment-verify');
How To Use
use Nafezly\Payments\ThawaniPayment;
$payment = new PaymobPayment();
//pay function
$payment->pay(
$amount,
$user_id = null,
$user_first_name = null,
$user_last_name = null,
$user_email = null,
$user_phone = null,
$source = null
);
//pay function response
[
'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);
[
'success'=>true,//or false
'message'=>"Done Successfully",//message for client
'process_data'=>""//payment response
]
Available Classes
use Nafezly\Payments\Classes\FawryPayment;
use Nafezly\Payments\Classes\HyperPayPayment;
use Nafezly\Payments\Classes\KashierPayment;
use Nafezly\Payments\Classes\PaymobPayment;
use Nafezly\Payments\Classes\PayPalPayment;
use Nafezly\Payments\Classes\ThawaniPayment;
use Nafezly\Payments\Classes\TapPayment;
use Nafezly\Payments\Classes\OpayPayment;
use Nafezly\Payments\Classes\PaytabsPayment;
use Nafezly\Payments\Classes\PaymobWalletPayment;
Test Cards
V2.0.0
Nafezly Payment Gateways
Payment Helper of Payment Gateways ( PayPal - Paymob - Fawry - Thawani - WeAccept - Kashier - Hyperpay )
Supported gateways
Installation
composer require nafezly/payments
Publish Vendor Files
php artisan vendor:publish --tag="nafezly-payments-config"
php artisan vendor:publish --tag="nafezly-payments-lang"
nafezly-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_URL' => env('KASHIER_URL', "https://checkout.kashier.io"),
'KASHIER_MODE' => env('KASHIER_MODE', "test"), //live or test
'KASHIER_CURRENCY'=>env('KASHIER_CURRENCY',"EGP"),
#FAWRY
'FAWRY_URL' => env('FAWRY_URL', "https://atfawry.fawrystaging.com/"),//or 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"),
#THAWANI
'THAWANI_API_KEY' => env('THAWANI_API_KEY', ''),
'THAWANI_URL' => env('THAWANI_URL', "https://uatcheckout.thawani.om/"),
'THAWANI_PUBLISHABLE_KEY' => env('THAWANI_PUBLISHABLE_KEY', ''),
'VERIFY_ROUTE_NAME' => "verify-payment",
'APP_NAME'=>env('APP_NAME')
];
Web.php MUST Have Route with name “payment-verify”
Route::get('/payments/verify/{payment?}',[FrontController::class,'payment_verify'])->name('payment-verify');
How To Use
use Nafezly\Payments\ThawaniPayment;
$payment = new PaymobPayment();
//pay function
$payment->pay(
$amount,
$user_id = null,
$user_first_name = null,
$user_last_name = null,
$user_email = null,
$user_phone = null,
$source = null
);
//pay function response
[
'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);
[
'success'=>true,//or false
'message'=>"Done Successfully",//message for client
'process_data'=>""//payment response
]
Available Classes
use Nafezly\Payments\Classes\FawryPayment;
use Nafezly\Payments\Classes\HyperPayPayment;
use Nafezly\Payments\Classes\KashierPayment;
use Nafezly\Payments\Classes\PaymobPayment;
use Nafezly\Payments\Classes\PayPalPayment;
use Nafezly\Payments\Classes\ThawaniPayment;