Під час оплати платежів карткою Visa/MasterCard найчастішими причинами відмови є такі, у порядку зменшення частки в загальному обсязі відмов:
При цьому у випадках 1-3 клієнт, як правило, може оперативно розв’язати свою проблему, звернувшись до кол-центру банку або до інтернет-банку, щоб: уточнити правильний термін дії, CVV2, перекинути кошти з іншої картки, підняти ліміт. Тому, щоб дозволити клієнту повторити спробу оплати без повторного виставлення рахунку торговцем, у протокол додано параметр delayed
.
Використання відкладених платежів дає змогу збільшити частку успішних платежів за рахунок конвертації відхилених і не завершених спроб оплат в успішні.
Відкладений платіж (це платіж за замовчуванням delayed=Y
) відрізняється від не відкладеного (delayed=N
) тим, що клієнт може намагатися оплатити його багато разів, доки термін дії платежу, зазначений у параметрі lifetime
, не спливе. У цьому випадку торговець отримуватиме відповідь на server_callback_url
стільки разів, скільки клієнт намагатиметься оплатити платіж. Перенаправлення клієнта на response_url
відбудеться тільки після закінчення часу життя замовлення (lifetime
параметр), якщо в цей момент клієнт намагається зробити повторну оплату. Якщо клієнт не перебуває в момент закінчення платежу на платіжній сторінці, торговець може ніколи не отримати відповідь на response_url
. Тому для платежів з параметром delayed=Y
ми рекомендуємо обов’язково використовувати параметр server_callback_url.
Повертається order_status
статус при delayed=Y
processing
– клієнт намагався зробити спробу оплати, але отримав відмову від банку, на server_callback_url
повертаються не порожні параметри response_code
, response_description
, час життя замовлення lifetime
ще не минувcreated
– клієнт перенаправлений на платіжну сторінку, але ще не вводив платіжні реквізитиexpired
– клієнт не вводив платіжні реквізити, і час життя замовлення минувdeclined
– те саме, що і processing
, але час життя замовлення lifetime
минувПовертається order_status
статус при delayed=N
declined
– клієнт пробував зробити спробу оплати, але отримав відмову від банку, на response_url
і server_callback_url
повертаються не порожні параметри response_code
, response_description
created
– клієнт перенаправлений на платіжну сторінку, але ще не вводив платіжні реквізитиexpired
– клієнт не вводив платіжні реквізити, і час життя замовлення минув