laravel_payment/telr is a Laravel package for pay online through telr payment gateway.
It currently has 9 GitHub stars and 16.799 downloads on Packagist (latest version 1.2.1).
Install it with composer require laravel_payment/telr.
Discover more Laravel packages by laravel_payment
or browse all Laravel packages to compare alternatives.
Last updated
You can install the package via composer:
composer require laravel_payment/telr
In Laravel starting from 5.5 the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php file:
'providers' => [
// ...
TelrGateway\TelrServiceProvider::class,
];
You can publish using the following provider
php artisan vendor:publish --provider="TelrGateway\TelrServiceProvider"
After that you can create the telr transaction table by running the migrations command:
php artisan migrate
When published, the config/telr.php config file contains:
return [
// The current mode is live|production or test
'test_mode' => env('TELR_TEST_MODE', true),
// The currency of store
'currency' => 'SAR',
// The sale endpoint that receive the params
// @see https://telr.com/support/knowledge-base/hosted-payment-page-integration-guide
'sale' => [
'endpoint' => 'https://secure.telr.com/gateway/order.json',
],
// The hosted payment page use the following params as it explained in the integration guide
// @see https://telr.com/support/knowledge-base/hosted-payment-page-integration-guide/#request-method-and-format
'create' => [
'ivp_method' => "create",
'ivp_store' => env('TELR_STORE_ID', null),
'ivp_authkey' => env('TELR_STORE_AUTH_KEY', null),
'return_auth' => '/handle-payment/success',
'return_can' => '/handle-payment/cancel',
'return_decl' => '/handle-payment/declined',
]
];
After creating the route place the following code to redirect to bank page
$telrManager = new \TelrGateway\TelrManager();
$billingParams = [
'first_name' => 'Moustafa Gouda',
'sur_name' => 'Bafi',
'address_1' => 'Gnaklis',
'address_2' => 'Gnaklis 2',
'city' => 'Alexandria',
'region' => 'San Stefano',
'zip' => '11231',
'country' => 'EG',
'email' => '[email protected]',
];
$currency = 'SAR'; //it is completely optional if this currency is not passed then the currency from config is taken
return $telrManager->pay('ORDER_ID_GOES_HERE', 'TOTAL_AMOUNT', 'DESCRIPTION ...', $billingParams,$currency)->redirect();
- note that if you want to avoid sending billing params while creating token to process the payment it's applicable and the
Telr hosted payment pagewill require it and will get the customer information oncheckrequest.
And on telr callback (Success|Cancel|Declined) to handle response put the following code:
$telrManager = new \TelrGateway\TelrManager();
$telrManager->handleTransactionResponse($request);