На странице
Отмена
Отменяйте открытый инвойс до того, как клиент зафиксировал актив, учитывайте допустимый переход состояния и корректно обрабатывайте ответ API.
API-ключ: Payment
Отменяет инвойс, пока он находится в статусе awaiting_client. Как только клиент выбрал токен и сеть и инвойс перешёл в awaiting_payment, отмена уже невозможна. Оплаченный или истёкший инвойс отменить нельзя. Повторная отмена уже отменённого инвойса ничего не меняет: возвращается 200 с тем же инвойсом, а не ошибка.
Тело запроса
Поле reason обязательно (до 500 символов). Причина попадает в журнал аудита. В вебхуке invoice.cancelled её нет: тело события — та же проекция инвойса, что и в остальных событиях, и поля причины в ней не предусмотрено.
{
"reason": "Customer requested cancellation"
}
Ответ (200 OK)
{
"invoice_id": "inv_5CcyDYmMUGtzYL10q0Iimr",
"project_id": "prj_xFukZuAJZR06pLVBh3uwzv",
"status": "cancelled",
"is_final": true,
"is_test": true,
"payment_url": "https://checkout.paymos.io/invoice/inv_5CcyDYmMUGtzYL10q0Iimr",
"order": {
"external_id": "order-12345",
"client_id": "customer-67890",
"amount": "100.00",
"currency": "USD"
},
"created_at": 1739280600,
"updated_at": 1739280660,
"expires_at": 1739284200
}
Ошибки
См. Коды ошибок — полный каталог. URI в поле type каждой ошибки ведёт сразу на нужную строку.