PHPackages                             sm9sh/monobank-pay - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sm9sh/monobank-pay

ActiveLibrary

sm9sh/monobank-pay
==================

This is simple library for Monobank Acquiring called "MonoPay" based on REST API (v2304) docs located at https://api.monobank.ua/docs/acquiring.html

v0.1.0(3y ago)03Apache-2.0PHPPHP &gt;=7.4

Since May 10Pushed 2y agoCompare

[ Source](https://github.com/sm9sh/monobank-pay)[ Packagist](https://packagist.org/packages/sm9sh/monobank-pay)[ RSS](/packages/sm9sh-monobank-pay/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

🇺🇦🇺🇦🇺🇦 Проста бібліотека для еквайрінгу [MonobankPay](https://api.monobank.ua/) (MonoPay)
=========================================================================================

[](#-проста-бібліотека-для-еквайрінгу-monobankpay-monopay)

Документація по REST API [тут](https://api.monobank.ua/docs/acquiring.html)

!!! Це форк [plakidan/monobank-pay](https://github.com/plakidan/monobank-pay)
-----------------------------------------------------------------------------

[](#-це-форк-plakidanmonobank-pay)

Для ведення запитів вам знадобиться токен з особистого кабінету  або тестовий токен з

Встановити бібліотеку:

```
composer require plakidan/monobank-pay
```

Також зробив варіант для php5.6:

```
composer require plakidan/monobank-pay:dev-php5.6-adaptation
```

### Мінімальні вимоги:

[](#мінімальні-вимоги)

- php &gt;=7.4
- guzzlehttp/guzzle &gt;= 7.0
- starkbank/ecdsa &gt;= 0.0.5

### Приклади використання:

[](#приклади-використання)

```
require_once 'vendor/autoload.php';

//створили клієнта - через нього запити будуть слатись
$monoClient = new \MonoPay\Client('YOUR_TOKEN_HERE');

//із клієнта можна отримати id та назву мерчанта
echo $monoClient->getMerchantId();
echo $monoClient->getMerchantName();

//для створення платежів створюємо цей об'єкт
$monoPayment = new \MonoPay\Payment($monoClient);

//створення платежу
$invoice = $monoPayment->create(
    1000,
    [
        //деталі оплати
        'merchantPaymInfo' => [
            'reference' => 'my_shop_order_28142', //номер чека, замовлення, тощо; визначається мерчантом (вами)
            'destination' => 'Оплата за замовлення #28142', //призначення платежу
            'basketOrder' => [ //наповнення замовлення, використовується для відображення кошика замовлення
                [
                    'name' => 'Товар1', //назва товару
                    'qty' => 2, //кількість
                    'sum' => 500, //сума у мінімальних одиницях валюти за одиницю товару
                    'icon' => 'https://example.com/images/product1.jpg', //посилання на зображення товару
                    'unit' => 'уп.', //назва одиниці вимiру товару
                ],
            ],
        ],
        'redirectUrl' => 'https://example.com/order-result', //адреса для повернення (GET) - на цю адресу буде переадресовано користувача після завершення оплати (у разі успіху або помилки)
        'webHookUrl' => 'https://example.com/mono-webhook', //адреса для CallBack (POST) – на цю адресу буде надіслано дані про стан платежу при кожній зміні статусу. Зміст тіла запиту ідентичний відповіді запиту “перевірки статусу рахунку”
        'validity' => 3600 * 24 * 7, //строк дії в секундах, за замовчуванням рахунок перестає бути дійсним через 24 години
        'paymentType' => 'debit', //debit | hold. Тип операції. Для значення hold термін складає 9 днів. Якщо через 9 днів холд не буде фіналізовано — він скасовується
    ]
);
print_r($invoice);

//інформація про платіж
$invoice = $monoPayment->info('2305046jUBEj8WfyaBdB');
print_r($invoice);

//відшкодування
$result = $monoPayment->refund('2305046jUBEj8WfyaBdB');
print_r($result);

//скасування посилання на оплату
$result = $monoPayment->cancel('2305046jUBEj8WfyaBdB');
print_r($result);

//деталі успішної оплати
$invoiceDetails = $monoPayment->successDetails('2305046jUBEj8WfyaBdB');
print_r($invoiceDetails);

//списати заблоковану сумму
//зверніть увагу: списати можна тільки таку самму або меншу сумму яку ви заблокували
$result = $monoPayment->captureHold('2305046jUBEj8WfyaBdB', 500);
print_r($result);

//список успішних оплат за останні сутки
$list = $monoPayment->items(time() - 60 * 60 * 24);
print_r($list);
```

### Отримання вебхуку:

[](#отримання-вебхуку)

> ЗАСТЕРЕЖЕННЯ!!! Обов'язково обгорніть обробку вебхука в try-catch, бо якщо ви відповісте НЕ 200 кодом, а веб-хуків буде багато - ваш IP може потрапити в тимчасовий бан (хз на скільки, в мене було на сутки)

```
require_once 'vendor/autoload.php';

//створили клієнта - через нього запити будуть слатись
$monoClient = new \MonoPay\Client('YOUR_TOKEN_HERE');

//отримання публічного ключа (бажано закешувати)
$publicKey = $monoClient->getPublicKey();

//класс для роботи з вебхуком
$monoWebhook = new \MonoPay\Webhook($monoClient, $publicKey, $_SERVER['HTTP_X_SIGN']);
//отримуємо вхідні дані
$body = file_get_contents('php://input');
//валідуємо дані
if ($monoWebhook->verify($body)) {
    echo 'Ці дані прислав монобанк, можна обробляти';
} else {
    echo 'Дані прислав шахрай, ігноруємо';
}
```

#### TODO List:

[](#todo-list)

- Доробити методи стосовно токенізації карт
- Переробити вхідні параметри і вихідні дані на класи з описаними методами
- Попросити в Гороховського баночку пива

### P.S. Буду радий вашим pull-реквестам

[](#ps-буду-радий-вашим-pull-реквестам)

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 62.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1095d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a735ef3cb8895b011122cdc372ddd7a5efa61bb7d66a62b7d29fc5a5eb7871f9?d=identicon)[sm69sh](/maintainers/sm69sh)

---

Top Contributors

[![plakidan](https://avatars.githubusercontent.com/u/18316735?v=4)](https://github.com/plakidan "plakidan (10 commits)")[![sm9sh](https://avatars.githubusercontent.com/u/10868323?v=4)](https://github.com/sm9sh "sm9sh (5 commits)")[![andrew-demb](https://avatars.githubusercontent.com/u/12499813?v=4)](https://github.com/andrew-demb "andrew-demb (1 commits)")

### Embed Badge

![Health badge](/badges/sm9sh-monobank-pay/health.svg)

```
[![Health](https://phpackages.com/badges/sm9sh-monobank-pay/health.svg)](https://phpackages.com/packages/sm9sh-monobank-pay)
```

###  Alternatives

[neuron-core/neuron-ai

The PHP Agentic Framework.

1.8k245.3k20](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
