vhar / robokassa
PHP класс для работы с платежным сервисом Robokassa
v0.1.1
2025-03-19 08:27 UTC
Requires
- php: >8.1
- nesbot/carbon: *
README
Библиотека для взаимодействия с платежной системой Robokassa в PHP.
Позволяет отправлять платежные запросы, создавать счета, получать статус оплаты и список доступных методов оплаты.
Установка
$ composer require vhar/robokassa
Доступные методы
Метод | Описание |
---|---|
createPaymentLink(Invoice $invoice): string |
Создает ссылку на оплату |
createInvoice(InvoiceJWT $invoice): CreatedInvoice|IsSuccess |
Создает счет на оплату в личном кабинете |
deactivateInvoice(int $invoiceID): IsSuccess |
Аннулирует созданный в личном кабинете счет по InvoiceID |
opStateExt(int $invoiceID): OperationStateResponse|null |
Получает статус оплаты по InvoiceID |
getCurrencies(string $lang = 'ru'): CurrenciesList|null |
Получает доступный список валют |
getPaymentMethods(string $lang = 'ru'): PaymentMethodsList|null |
Получает доступные методы оплаты |
checkResult(array $params): bool |
Валидация ответа на ResultURL |
checkSuccess(array $params): bool |
Валидация ответа на SuccessURL |
Если счет был создан методом
createInvoice
, то объектOperationStateResponse
всегда будет содержатьUserFields->Field
shp_interface со значением InvoiceService.WebApi. Если счет был создан в личном кабинете, то объектOperationStateResponse
всегда будет содержатьUserFields->Field
shp_interface со значением invoice.
Примеры использования
Примеры кода находятся в папке Examples/
.
Создание счета на оплату
$merchant = [ 'login' => 'merchant_login', 'password1' => 'password1', 'password2' => 'password2', 'hashType' => 'md5', ]; $invoiceItems = [ [ 'Cost' => 1, 'Name' => 'Сервис 1', 'Quantity' => 1, 'PaymentMethod' => 'full_payment', 'PaymentObject' => 'service', 'Tax' => 'none', 'NomenclatureCode' => 'IYVITCUR%XE^$X%C^T&VITC^RX&%ERC^TIRX%&ERCUITRXE&ZX%R^CTIR^XUE%ZN1m9E+1¦?5O?6¦?168' ], ]; $orderData = [ 'MerchantLogin' => 'merchant_login', 'InvoiceType' => 'OneTime', 'OutSum' => 1, 'Description' => 'Счет № 1', 'ExpirationDate' => Carbon::now()->timezone('Europe/Moscow')->addMinutes(5)->format("Y-m-d\\TH:i:s.u"), 'MerchantComments' => 'Оплатить до ' . Carbon::now()->timezone('Europe/Moscow')->addMinutes(5)->format("Y-m-d H:i:s"), 'Culture' => 'ru', 'InvoiceItems' => $invoiceItems ]; $merchant = Merchant::from($merchant); $robokassa = new Robokassa($merchant); $invoice = InvoiceJWT::from($orderData); $response = $robokassa->createInvoice($invoice); print_r($response->toArray());
Проверка статуса оплаты
$merchant = [ 'login' => 'merchant_login', 'password1' => 'password1', 'password2' => 'password2', 'hashType' => 'md5', ]; $merchant = Merchant::from($merchant); $robokassa = new Robokassa($merchant); $status = $robokassa->opStateExt(2024021501); print_r($status->toArray());
Документация
- Официальная документация Robokassa: https://docs.robokassa.ru/.