Сценарий 2. Отмена оплаты
Pay API
Описание сценария отмены оплаты
Сценарий описывает отмену непосредственно текущей операции оплаты на кассе (пока не получен слип-чек об оплате).
Info
Для случая, когда оплата уже прошла и необходимо её отменить (с возвратом средств покупателю) — см. Сценарий 3. Возврат оплаты.
Примеры текстовых сообщений к передаваемому статусу транзакции в случае отклонения отмены по refTransactionId
:
Статус транзакции | Сообщение о причине отклонения транзакции отмены |
---|---|
Canceled | Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> уже была отменена ранее. |
Accepted | Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> уже была одобрена банком. Для отмены уже выполненной оплаты выполните операцию возврата. |
Все Refund-статусы | Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> уже была одобрена банком. Примечание. Обработка данного статуса была предусмотрена, однако такая ситуация не должна возникнуть, т.к. для оплаченных транзакций на кассе не должно быть кнопки отмены, а если транзакция находится в любом из Refund-статусов, значит, по ней выполняется/выполнялся возврат и факт оплаты точно известен. |
Транзакция не найдена | Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> не найдена. |
Info
Точные формулировки приведены для примера и пояснения причин возможных отклонений операции отмены и могут быть изменены.
Отмена оплаты может вызываться:
- автоматически;
- по запросу кассира;
- по запросу покупателя.
Автоматическая отмена оплаты
Сценарий отмены оплаты должен вызываться кассовым ПО автоматически в следующих случаях.
- Если в течение X попыток (конфигурируемый на стороне ТСП параметр) касса не получает ответ на запрос оплаты, то касса должна автоматически вызывать отмену оплаты.
- Если в течение X секунд (конфигурируемый на стороне ТСП параметр) касса не получила положительный статус транзакции, то касса должна автоматически вызывать отмену оплаты.
- Если в течение X попыток (конфигурируемый на стороне ТСП параметр) касса не получает ответ на запрос возврата, то касса автоматически инициирует отмену возврата.
Отмена оплаты по запросу кассира
Сценарий отмены оплаты должен вызываться кассиром в следующих случаях.
А. Отмена оплаты после подтверждения покупателем последующий повтор транзакции оплаты
В этом случае кассовое ПО не должно запрашивать повторное сканирование карты лояльности. Запрос должен содержать:
- Прежний идентификатор карты
cardSession
; - Новый идентификатор запроса
requestId
.
Б. Отмена оплаты до подтверждения покупателем и последующий повтор транзакции оплаты
В этом случае кассовое ПО должно запросить повторное сканирование карты лояльности. Запрос должен содержать:
- Новый идентификатор карты
cardSession
; - Новый идентификатор запроса
requestId
.
Отмена оплаты по запросу покупателя
Покупатель не может отменить покупку или возврат самостоятельно через приложение Кошелёк. Коммуникация осуществляется через кассира.