fitnesshouse/payment-manager is a Laravel package for payment system manager.
It currently has 0 GitHub stars and 35 downloads on Packagist (latest version v2.1.3).
Install it with composer require fitnesshouse/payment-manager.
Discover more Laravel packages by fitnesshouse
or browse all Laravel packages to compare alternatives.
Last updated
Laravel Payment system manager.
Менеджер подключения платежных систем для web приложений Laravel.
composer require fitnesshouse/payment-manager
or add the following to your requirement part within the composer.json:
{
"require": {
"fitnesshouse/payment-manager": "^2.*"
}
}
and run command
composer install
Для базовой конфигурации в .env файле определите следующие обязательные параметры для платежной системы установленной по умолчанию (ПСКБ):
PSCB_MERCHANT_ID=123456789
PSCB_MERCHANT_KEY=111111
А так же переопределите необязательные параметры.
PSCB_REQUEST_URL=https://oos.pscb.ru/pay/
PSCB_MERCHANT_API_URL=https://oos.pscb.ru/merchantApi/
PSCB_SUCCESS_URL=https://youmarket.com/success
PSCB_FAIL_URL=https://youmarket.com/fail
PSCB_DISPLAY_LANGUAGE=RU
Если вам нужны расширенные свойства конфигурации, запустите:
$ php artisan vendor:publish --tag=payment-config
Эта команда создаст файл конфигурации \config\payment.php
Платежная система по умолчанию установлена в файле конфигурации:
// \config\payment.php
return [
'system' => env('PAYMENT_SYSTEM', 'pscb'),
/*
* Настройки для ПСКБ
* https://docs.pscb.ru/oos/index.html
*/
'pscb' => [
...
]
]
use \Fh\PaymentManager\Facades\Payment;
// Платежная система по умолчанию
$system = Payment::system();
// Платежная система не установленная по умолчанию
$system = Payment::system('pscb');
// Создать запрос и перенаправить клиента в платежную систему для оплаты
$query = $system->createQuery(function (QueryBuilder $builder) {
$builder->orderId('TEST_123');
$builder->amount(100.00);
// ... Другие параметры запроса
});
redirect($query->getPayUrl())
// Запросить параметры платежа
$request = $system->requestHandler()->create('checkPayment', ['orderId' => 'TEST_123'])
$response = $request->send();
Создать запрос:
use \Fh\PaymentManager\Facades\Payment;
$query = Payment::query()->create(function (QueryBuilder $builder) {
$builder->orderId('TEST_123');
$builder->amount(100.00);
$builder->description('Тестовый платеж');
$builder->customer([
'phone' => '+7(123)-456-78-90',
'email' => '[email protected]'
]);
$builder->successUrl('https://youmarket.com/success');
$builder->paymentMethod('ac');
});
Для каждой платежной системы реализуется свой класс интерфейса QueryBuilder со своими методами, необходимыми для создания запроса.
Создать запрос для определенной платежной системы:
use \Fh\PaymentManager\Facades\Payment;
$query = Payment::system('pscb')->createQuery(function (QueryBuilder $builder) {
$builder->orderId('TEST_123');
$builder->amount(100.00);
...
});
Получить сформированную ссылку и перенаправить клиента в платежную систему для оплаты:
$payUrl = $query->getPayUrl();
redirect($payUrl);
Взаимодействие с платежной системой (request/response)
Создать запрос:
use \Fh\PaymentManager\Facades\Payment;
$requestHandler = Payment::requestHandler()->create('checkPayment', ['orderId' => 'TEST_123']);
Создать запрос для определенной платежной системы:
use \Fh\PaymentManager\Facades\Payment;
$requestHandler = Payment::system('pscb')->requestHandler()
->create('checkPayment', ['orderId' => 'TEST_123']);
Отправить запрос и получить ответ:
$response = $requestHandler->send();