PHP code example of faysal0x1 / lara-payment
1. Go to this page and download the library: Download faysal0x1/lara-payment library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
faysal0x1 / lara-payment example snippets
return [
'sandbox' => env("SSLCOMMERZ_SANDBOX", false),
'middleware' => 'web',
'store_id' => env("SSLCOMMERZ_STORE_ID"),
'store_password' => env("SSLCOMMERZ__STORE_PASSWORD"),
'success_url' => '/sslcommerz/success',
'failed_url' => '/sslcommerz/fail',
'cancel_url' => '/sslcommerz/cancel',
'ipn_url' => '/sslcommerz/ipn',
'return_response' => 'html', // html or json
];
use Faysal0x1\LaraPayment\Facade\SSLCommerzPayment;
// Make payment
$data = [
'total_amount' => 100,
'currency' => 'BDT',
'tran_id' => uniqid(),
'product_category' => 'Test Category'
];
$customer = [
'name' => 'John Doe',
'email' => '[email protected] ',
'address_1' => 'Dhaka',
'phone' => '8801XXXXXXXXX',
'country' => 'Bangladesh'
];
$shipment = [
'shipping_method' => 'Yes',
'ship_name' => 'John Doe',
'ship_add1' => 'Dhaka',
'ship_city' => 'Dhaka',
'ship_country' => 'Bangladesh'
];
$response = SSLCommerzPayment::makePayment($data)
->setCustomerInfo($customer)
->setShipmentInfo($shipment);
Route::get('/example1', [SslCommerzPaymentController::class, 'exampleEasyCheckout']);
Route::get('/example2', [SslCommerzPaymentController::class, 'exampleHostedCheckout']);
Route::post('/pay', [SslCommerzPaymentController::class, 'index']);
Route::post('/pay-via-ajax', [SslCommerzPaymentController::class, 'payViaAjax']);
Route::post('/success', [SslCommerzPaymentController::class, 'success']);
Route::post('/fail', [SslCommerzPaymentController::class, 'fail']);
Route::post('/cancel', [SslCommerzPaymentController::class, 'cancel']);
Route::post('/ipn', [SslCommerzPaymentController::class, 'ipn']);
$sslc = new SslCommerzNotification();
$sslc->enableEMI(3, 12, false); // 3 months installment, max 12 months, not restricted to EMI only
$airlineInfo = [
'hours_till_departure' => '24',
'flight_type' => 'domestic',
'pnr' => 'ABC123',
'journey_from_to' => 'Dhaka to Chittagong'
];
$sslc->setAirlineTicketProfile($airlineInfo);
$travelInfo = [
'hotel_name' => 'Grand Hotel',
'length_of_stay' => 3,
'check_in_time' => '14:00',
'hotel_city' => 'Dhaka'
];
$sslc->setTravelVerticalProfile($travelInfo);
$telecomInfo = [
'product_type' => 'prepaid',
'topup_number' => '8801XXXXXXXXX',
'country_topup' => 'Bangladesh'
];
$sslc->setTelecomVerticleProfile($telecomInfo);
return SSLCommerzPayment::returnSuccess($transId, "Transaction is successfully Completed", '/');
return SSLCommerzPayment::returnFail($transId, "Transaction is Failed", '/');
Schema::create('orders', function (Blueprint $table) {
$table->id();
$table->string('name', 191)->nullable();
$table->string('email', 191)->nullable();
$table->string('phone', 60)->nullable();
$table->double('amount')->default(0);
$table->text('address')->nullable();
$table->string('status', 20)->default('Pending');
$table->string('transaction_id', 191);
$table->string('currency', 20)->nullable()->default('BDT');
$table->timestamps();
});
bash
php artisan test
bash
php artisan vendor:publish --provider="Faysal0x1\LaraPayment\SslcommerzLaravelServiceProvider" --tag="config"
bash
php artisan vendor:publish --provider="Faysal0x1\LaraPayment\SslcommerzLaravelServiceProvider" --tag="controllers"
bash
php artisan vendor:publish --provider="Faysal0x1\LaraPayment\SslcommerzLaravelServiceProvider" --tag="views"
bash
php artisan vendor:publish --provider="Faysal0x1\LaraPayment\SslcommerzLaravelServiceProvider" --tag="migrations"
bash
php artisan migrate