vladchornyi / mono
acquiring mono
README
Бібліотека Monobank Acquiring дозволяє легко взаємодіяти з API Monobank для управління рахунками, отримання виписок і проведення транзакцій через інвойси.
Встановлення
Для встановлення через Composer використовуйте:
composer require vladchornyi/mono
Використання
Ініціалізація клієнта
Створіть екземпляр клієнта MonoClient
, передавши API-ключ, який ви отримали в налаштуваннях Monobank:
use Vladchornyi\Mono\MonoClient; use Vladchornyi\Mono\Models\InvoiceData; $apiKey = 'ВАШ_API_КЛЮЧ'; $monoClient = new MonoClient($apiKey);
Отримання публічного ключа
Відкритий ключ використовується для верифікації підписів Monobank.
try { $pubKey = $monoClient->pubkey()->get(); echo "Public Key: " . $pubKey; } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Створення інвойсу для оплати
Для створення нового інвойсу, вкажіть суму, URL для редиректу після оплати та URL для отримання callback від Monobank.
$redirectUrl = 'https://test.com?payment=success'; $webHookUrl = 'https://test.com/mono/callback'; $params = ['saveCard' => true]; $invoiceData = new InvoiceData(150, $redirectUrl, $webHookUrl, $params); try { $invoice = $monoClient->invoices()->createInvoice($invoiceData); $invoiceId = $invoice['invoiceId'] ?? false; if($invoiceId !== false) { echo "Invoice Created: " . $invoiceId; } } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Перевірка статусу інвойсу
Отримайте статус інвойсу за його ідентифікатором, щоб дізнатися, чи була транзакція успішною.
$invoiceId = 'ВАШ_INVOICE_ID'; try { $invoiceStatus = $monoClient->invoices()->getInvoiceStatus($invoiceId); $status = $invoice['status'] ?? false; if($status !== false) { echo "Invoice Status: " . $status; } } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Отримання виписки
Отримайте виписку по рахунку за вказаний період.
$fromTime = 1609459200; // початок періоду в форматі Unix timestamp $toTime = 1612137600; // кінець періоду в форматі Unix timestamp try { $statement = $monoClient->statements()->getStatement($fromTime, $toTime); } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Параметри
apiKey
- ваш унікальний ключ для доступу до Monobank API.redirectUrl
- URL для редиректу після успішної оплати.webHookUrl
- URL для отримання callback від Monobank про статус платежу.InvoiceData
- об'єкт з даними інвойсу, що містить:amount
- сума оплати в копійках.redirectUrl
- URL редиректу.webHookUrl
- URL для webhook.saveCardData
- параметри для збереження картки (необов'язково).
Обробка помилок
Обробка помилок згодом. Рекомендується використовувати try-catch
для роботи з методами API, щоб ловити можливі помилки.
try { // Ваш код тут } catch (Exception $e) { echo 'Error: ' . $e->getMessage(); }
Ліцензія
Ця бібліотека має ліцензію MIT.