Matrix Pay Python SDK
Python SDK для интеграции с платёжной системой Matrix Pay.
Установка
Требования
- Python 3.7+
- Без внешних зависимостей (только стандартная библиотека)
- API-ключ кассы: кабинет → «Настройки» → «API-ключ»
Быстрый старт
Создание платежа
Проверка статуса платежа
Обработка callback (Flask)
Обработка callback (Django)
Способы оплаты
| Константа | Значение | Описание |
|---|---|---|
MatrixPay.METHOD_SBP | sbp | СБП (QR) — страница оплаты на matrix-pay.io |
MatrixPay.METHOD_CRYPTOBOT | cryptobot | Криптовалюта — оплата в @CryptoBot |
MatrixPay.METHOD_XROCKET | xrocket | Криптовалюта — оплата в @xRocket |
Также доступны: list_payments, cancel_payment, get_merchant, get_balance.
Статусы платежей
| Константа | Значение | Описание |
|---|---|---|
MatrixPay.STATUS_PENDING | PENDING | Ожидает оплаты |
MatrixPay.STATUS_CONFIRMED | CONFIRMED | Успешно оплачен |
MatrixPay.STATUS_CANCELED | CANCELED | Отменён или истёк (30 минут) |
MatrixPay.STATUS_CHARGEBACKED | CHARGEBACKED | Chargeback |
Обработка ошибок
| HTTP | code | Описание |
|---|---|---|
| 400 | BAD_AMOUNT | Сумма вне лимитов кассы |
| 400 | NO_PROVIDER | Способ оплаты не подключён |
| 401 | UNAUTHORIZED | Неверный или отозванный API-ключ |
| 403 | MERCHANT_DISABLED | Касса отключена |
| 404 | NOT_FOUND | Платёж не найден |
| 409 | NOT_CANCELABLE | Платёж уже оплачен или закрыт |
| 429 | RATE_LIMITED | Больше 120 запросов в минуту |
Адрес вебхука
Укажите этот адрес в кабинете кассы → «Настройки» → «Вебхук», там же возьмите секрет для MatrixPayCallback:
- Flask:
https://yoursite.com/callback - Django:
https://yoursite.com/payment/callback/
Вебхук подписан HMAC-SHA256 (X-MatrixPay-Signature), SDK проверяет подпись и время. Ответьте 200 за 10 секунд, иначе будут повторы около полутора суток: 30 с, 2 мин, 10 мин, 1 ч, 3 ч, 12 ч, 24 ч. У повтора тот же X-MatrixPay-Delivery — по нему отсеивайте дубли.
После «Новый секрет» старый ещё сутки подписывает вебхуки вместе с новым (две подписи через запятую) — SDK примет любую из них.
REST API
BASE
https://matrix-pay.io/api/v1KEY
Authorization: Bearer mp_live_…| Запрос | SDK |
|---|---|
POST /invoices | create_payment |
GET /invoices/{id} | get_payment_status |
GET /invoices | list_payments |
POST /invoices/{id}/cancel | cancel_payment |
GET /me | get_merchant |
GET /balance | get_balance |