fitnesshouse/payment-manager
Composer 安装命令:
composer require fitnesshouse/payment-manager
包简介
Payment system manager
README 文档
README
Introduction
Laravel Payment system manager.
Менеджер подключения платежных систем для web приложений Laravel.
Payment systems
Features
- php ^7.3|^8.0
- Laravel v7.*
Installation
Composer
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
Configure
Для базовой конфигурации в .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' => [ ... ] ]
Integration
Основное использование
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();
Создание платежа
Запрос (QueryBuilder)
Создать запрос:
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' => 'test@test.tt' ]); $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);
Взаимодействие с платежной системой
Обработчик запросов (RequestHandler)
Взаимодействие с платежной системой (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();
统计信息
- 总下载量: 35
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-04-01