gitkv / laravel-uniteller by gitkv

Laravel integration internet-acquiring of the Uniteller (unofficial)
Package Data
Maintainer Username: gitkv
Maintainer Contact: (Nikolay Volkov)
Package Create Date: 2018-05-30
Package Last Update: 2018-07-20
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2020-08-09 15:25:55
Package Statistics
Total Downloads: 371
Monthly Downloads: 56
Daily Downloads: 0
Total Stars: 7
Total Watchers: 2
Total Forks: 0
Total Open Issues: 0

Laravel Uniteller

Build Status

Laravel / Lumen package for integration with Uniteller payment processing. The package is based on tmconsulting/uniteller-php-sdk/.


  • Laravel / Lumen >=5.5
  • PHP >= 7.1
  • tmconsulting/uniteller-php-sdk


  • Run:
composer require "gitkv/laravel-uniteller"



Add service provider to /config/app.php:

'providers' => [
'aliases' => [
    'Uniteller' => gitkv\Uniteller\Facade\Uniteller::class,

Publish config/uniteller.php

php artisan vendor:publish --provider="gitkv\Uniteller\LaravelServiceProvider" --tag=config


Register service provider to /bootstrap/app.php:


Copy config file /vendor/gitkv/laravel-uniteller/config/uniteller.php to /config/app.php

cp vendor/gitkv/laravel-uniteller/config/uniteller.php config/app.php


Method "Pay":

use gitkv\Uniteller\Facade\Uniteller;
use Tmconsulting\Uniteller\Payment\PaymentBuilder;

$builder = (new PaymentBuilder())

$redirectUrl = Uniteller::pay($builder);

or, if need redirect

Uniteller::pay($builder, false);

Method "Recurrent Pay":

use gitkv\Uniteller\Facade\Uniteller;
use Tmconsulting\Uniteller\Recurrent\RecurrentBuilder;

$builder = (new RecurrentBuilder())
    ->setOrderIdp(mt_rand(10000, 99999))
    ->setParentOrderIdp(00000) // order id of any past payment
    ->setParentShopIdp($uniteller->getShopId()); // optional

$result = Uniteller::recurrentPay($builder);

Method "Receive results":

use gitkv\Uniteller\Facade\Uniteller;

$result = Uniteller::receiveResult($orderIdp);

Method "Cancel":

use gitkv\Uniteller\Facade\Uniteller;
use Tmconsulting\Uniteller\Cancel\CancelBuilder;

$builder = (new CancelBuilder())->setBillNumber('RRN Number, (12 digits)');
$result = Uniteller::cancel($builder);

Method "Verify Signature":

use gitkv\Uniteller\Facade\Uniteller;

if (! Uniteller::verifyCallbackRequest(['all_parameters_from_post_with_signature'])) {
    return 'invalid_signature';

Callback event:

The package determines the default routing for processing the order status change. Default: [APP_URL]/uniteller/callback You need to specify this router in the settings of the billing uniteller.

If the order is successfully paid, the uniteller will make a POST request to your application. The query data will be validated (Uniteller::verifySignature), and upon success the event gitkv\Uniteller\Events\UnitellerCallbackEvent You only need to create an event listener and change the order status in your application.


namespace App\Listeners;

use gitkv\Uniteller\Events\UnitellerCallbackEvent;

class UnitellerCallbackListener {

    public function __construct() {

    public function handle(UnitellerCallbackEvent $event) {
        $payload = $event->getPayload();
        //your code here...