Місток
Документація · Шлюзи · UA

plata by mono Україна

Картки, Apple Pay, Google Pay, hold, split, QR-каса. Офіційна документація: https://monobank.ua/api-docs/acquiring. Комісія шлюзу: 1,3 % картки UA / 2 % іноземні (тариф mono).

Доступи

Тестовий токен — кнопка «Create test token» на api.monobank.ua. Бойовий — у кабінеті plata by mono після договору еквайрингу. Токен передається в заголовку X-Token.

Змінні середовища
MONO_TOKEN MONO_WEBHOOK_SECRET (опц.) PAYMENT_TYPE=debit|hold SPLIT_RECEIVERS (опц.) QR_VALIDITY_SEC=900 (опц.)
Вебхук
POST /webhooks/mono[/<secret>]. Заголовок X-Sign = base64(ECDSA-SHA256(тіло)). Перевірка публічним ключем mono; тіло вебхука не є джерелом істини — статус перечитується з API.

Що викликає Місток

ЗапитПоля / сенс
POST /api/merchant/invoice/createamount (копійки), ccy (980/840/978), merchantPaymInfo{reference=#1001, destination, customerEmails, basketOrder[{name, qty, sum, code, unit, splitReceiverId?}]}, redirectUrl, webHookUrl, validity, paymentType → {invoiceId, pageUrl}
GET /api/merchant/invoice/status?invoiceIdstatus, amount, ccy, failureReason — Місток перечитує його після кожного вебхука
POST /api/merchant/invoice/cancelповернення (повне/часткове): invoiceId, amount, extRef=shopify-refund-<id>
POST /api/merchant/invoice/finalizeсписання холду при orders/fulfilled
POST /api/merchant/invoice/removeанулювання неоплаченого інвойсу (скасування/редагування замовлення)
GET /api/merchant/invoice/fiscal-checksчеки ПРРО (FISCAL_MODE=mono): id, status, type, taxUrl
GET /api/merchant/invoice/receipt?emailквитанція покупцю на email (SEND_MONO_RECEIPT)
GET /api/merchant/pubkeyпублічний ключ для перевірки вебхуків; кешується, перезапит при невалідному підписі не частіше 1 раз/хв
GET /api/merchant/qr/listQR-каси мерчанта: qrId, shortQrId, amountType (merchant | client | fix), pageUrl
GET /api/merchant/qr/details?qrIdщо зараз на QR: amount, ccy, invoiceId (тільки якщо сума встановлена)
POST /api/merchant/invoice/create + qrIdQR-каса: той самий інвойс замовлення, але з полем qrId — сума з’являється на фізичному QR (шоурум, пункт видачі, pop-up). validity = QR_VALIDITY_SEC (900 с)
POST /api/merchant/qr/reset-amountзняти суму з QR; Місток також анулює інвойс (статус qr_cleared)

Статуси

created · processing · hold · success · failure · reversed · expired — використовуються як є (це базова модель статусів Містка).

Модель Містка: created → processing → (hold →) success | failure | expired | reversed. Замовлення в Shopify отримує оплату лише на success і лише після звірки суми й валюти з нашим записом.

Пісочниця

Тестовий токен створює інвойси, які можна оплатити тестовою карткою у кабінеті. Вебхуки приходять на ваш BASE_URL (локально — через ngrok). QR-каси створюються в кабінеті plata by mono (QR-наліпка на касі); керування з Містка: адмінка → «QR-каси», Telegram /qr OBJE #1001, /qr clear OBJE, або POST /admin/qr/<qrId>/show {orderId}.

Обмеження

Перевірено проти офіційної документації, відкритих питань немає.

← усі шлюзи · HTTP API Містка