Перейти к содержанию

Сценарий 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.

Отмена оплаты по запросу покупателя

Покупатель не может отменить покупку или возврат самостоятельно через приложение Кошелёк. Коммуникация осуществляется через кассира.