lava-payment / lava
Lava payment sdk
Installs: 31 078
Dependents: 0
Suggesters: 0
Security: 0
Stars: 9
Watchers: 0
Forks: 0
Open Issues: 1
Requires
- php: >= 7.4
- ext-json: *
Requires (Dev)
- ext-curl: *
- mockery/mockery: ^1.5.1
- phpunit/phpunit: ^9.5
- vimeo/psalm: ^4.29
This package is auto-updated.
Last update: 2025-06-21 13:04:53 UTC
README
Установка
composer require lava-payment/lava
Использование
Для работы нужно получить секретный ключ магазина.
Инициализация
use Lava\Api\Http\LavaFacade; $facade = new LavaFacade('your secret key', 'shopId', 'your additional key');
Получение баланса магазина
$response = $facade->getShopBalance();
При успешном запросе вы получаете объект, который содержит balance и freezeBalance.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Создание платежа
Метод createInvoice на вход принимает объект createInvoiceDto, который в свою очередь имеет 2 обязательных параметра sum и orderId.
use Lava\Api\Dto\Request\Invoice\CreateInvoiceDto; $createInvoiceDto = new CreateInvoiceDto( 300.09, 'orderId', 'https://exaple.com', 'https://exaple.com', 'https://exaple.com', 300, '{productId: 39}', 'Pay product' ); $response = $facade->createInvoice($createInvoiceDto);
При успешном запросе вы получаете объект, который содержит invoiceId, amount, expired, status, shopId, url.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Проверка статуса платежа
Метод checkStatusInvoice на вход принимает объект GetStatusInvoiceDto, который принимает 2 параметра 1 из них обязателен.
invoiceId - id который получили после создания платежа
orderId - id платежа в вашей системе
use Lava\Api\Dto\Request\Invoice\GetStatusInvoiceDto; $statusInvoice = new GetStatusInvoiceDto(null, $invoiceId); //проверка платежа по invoiceId $response = $facade->checkStatusInvoice($statusInvoice);
При успешном запросе вы получаете объект StatusInvoiceDto.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Создание вывода
Метод createPayoff на вход принимает объект CreatePayoffDto, который принимает 3 обязательных параметра:
orderId - id вывода в вашей системе, amount - сумма вывода и service - вывод на какой сервис будет произведен.
use Lava\Api\Dto\Request\Payoff\CreatePayoffDto; $payoffCreate = new CreatePayoffDto('1234', 10, 'lava_payoff'); $response = $facade->createPayoff($payoffCreate);
При успешном запросе вы получаете объект CreatedPayoffDto который содержит 2 параметра:
refundId - id вывода в нашей системе и status - текущий статус вывода.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Информация о выводе
Метод getStatusPayoff на вход принимает объект GetPayoffStatusDto, который принимает 2 параметра 1 из них обязателен.
payoffId - id который получили после создания вывода
orderId - id платежа в вашей системе
use Lava\Api\Dto\Request\Payoff\GetPayoffStatusDto; $payoffStatus = new GetPayoffStatusDto(null, $payoffId); $response = $facade->getStatusPayoff($payoffStatus);
При успешном запросе вы получаете объект StatusPayoffDto который содержит всю информацию о выводе.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Создание возврата
Метод createRefund на вход принимает объект CreateRefundDto, который принимает 1 обязательный параметр invoiceId - id платежа в нашей системе. Для частичного возврата вместе с invoiceId передается сумма возврата.
use Lava\Api\Dto\Request\Refund\CreateRefundDto; $refundCreate = new CreateRefundDto('5b7d4464-d375-41d4-95b1-bb9786fbbac7', null, 100); $response = $facade->createRefund($refundCreate);
При успешном запросе вы получаете объект CreatedRefundDto.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Информация о возврате
Метод checkStatusRefund на вход принимает объект GetStatusRefundDto, который принимает 1 обязательный параметр refundId - id возврата в нашей системе.
use Lava\Api\Dto\Request\Refund\GetStatusRefundDto; $refundGetStatus = new GetStatusRefundDto($refundId); $response = $facade->checkStatusRefund($refundGetStatus);
При успешном запросе вы получаете объект StatusRefundDto.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Создание инвойса H2H
Метод createH2hInvoice на вход принимает объект CreateH2hInvoiceDto, который принимает 6 обязательных параметров amount - cумма на которую выставляется счет, orderId - id в вашей системе, cvv - cvv карты, month - месяц до которого действительна карта, year - год до которого действительна карта, cardNumber - номер карты
use Lava\Api\Dto\Request\H2h\CreateH2hInvoiceDto; $h2hCreate = new CreateH2hInvoiceDto( 100, "orderId", 701, 11, 30, '5536914283728079' ); $response = $facade->createH2hInvoice($h2hCreate);
При успешном запросе вы получаете объект CreatedH2hInvoiceDto.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Создание инвойса H2H СБП
Метод createH2hInvoice на вход принимает объект CreateH2hInvoiceDto, который принимает 6 обязательных параметров amount - cумма на которую выставляется счет, orderId - id в вашей системе, ip - ip пользователя
use Lava\Api\Dto\Request\H2h\CreateSBPH2HDto; $h2hCreate = new CreateSBPH2HDto( 100, $orderId, '127.0.0.1' ); $response = $facade->createH2HSpbInvoice($h2hCreate);
При успешном запросе вы получаете объект CreatedSBPH2hDto.
При не успешном запросе возникает исключение с сообщением и кодом ответа.
Проверка подписи веб хука
Метод checkSignWebhook принимает 2 параметра тело запроса в формате json и подпись с заголовка 'Authorization'.
$data = file_get_contents('php://input'); $hookSignature = getallheaders(); if(!isset($hookSignature['Authorization'])) { throw new Exception(); } $facade->checkSignWebhook($data, $hookSignature['Authorization']);