Checkout є інтерфейсом для прийому оплати, але процес повернення коштів реалізується через окремі API Monobank залежно від методу, яким була здійснена оплата.
- Метод повернення залежить від способу оплати (стандартна оплата карткою чи Покупка Частинами)
- Для ідентифікації платежу використовується параметр invoiceId з колбеку після оплати
- Доступне як повне, так і часткове повернення коштів
- Про статус повернення вам надійде повідомлення через колбек від ПЧ
Якщо оплата здійснювалась банківською карткою, використовуйте API еквайрингу Monobank:
POST /api/merchant/invoice/cancel
Детальніше тут
{
"invoiceId": "d86ae58c-4c5c-4187-8672-d8fdc5d3f6a0",
"amount": 10000
}
Якщо клієнт використовував метод "Покупка Частинами", використовуйте API сервісу ПЧ:
POST /api/order/reject
Детальніше тут
{
"orderId": "8e296a06-4748-9720-8bee-88b3f8730bac",
"amount": 5000
}
Додатково доступна можливість здійснити повернення через веб-кабінет у розділі платежів.
- processing - повернення в обробці
- success - успішне повернення
- failure - невдача при поверненні
Для часткового повернення вкажіть суму, яку потрібно повернути, в параметрі amount. Сума вказується в копійках (наприклад, 10000 для 100 грн).
Ви можете перевірити статус повернення за допомогою відповідних методів API або у веб-кабінеті мерчанта.
invoiceId — це ідентифікатор платіжної операції в системі Mono, який використовується для всіх подальших операцій з платежем (перевірка статусу, повернення коштів тощо).
Важливо! Ви не генеруєте invoiceId самостійно. Цей ідентифікатор автоматично створюється системою Monobank при оплаті та передається вам через колбек після успішного або неуспішного платежу.
// Фрагмент колбеку, де міститься invoiceId
{
"orderId": "5ce249ca-27bd-4db5-bc1c-290f63feadee",
"generalStatus": "success",
"paymentInfo": {
"tranId": "1234567890",
"paymentMethod": "card",
"invoiceId": "d86ae58c-4c5c-4187-8672-d8fdc5d3f6a0" // invoice_id
}
}
Чекаут по за замовченню має безстроковий термін існування
callback не надсилається, але ці дані можна отримати за допомогою запиту /personal/checkout/order/{order_ref}.
- Якщо отримуємо статус замовлення “success”, це означає, що оплата вже авторизована
- Для “оплати при отриманні” фактична оплата не відбувається — ми надсилаємо статус “payment_on_delivery”, який також є кінцевим і успішним.
- Якщо оплата була з холдом (для картки та розстрочки, де оплата після доставки), вам потрібно додатково ініціювати списання коштів від банку на користь продавця.
Підтвердження списання коштів надсилатися окремо НЕ БУДЕ