Сценарий 2. Отмена оплаты

Кошелёк Pay API

Документация перемещена

Информация на этой странице не обновляется и может быть устаревшей. Наиболее полная и актуальная версия документации для разработчиков доступна по новому адресу:

https://developers.koshelek.app

Описание сценария отмены оплаты

Сценарий описывает отмену непосредственно текущей операции оплаты на кассе (пока не получен слип-чек об оплате).

Для случая, когда оплата уже прошла и необходимо ее отменить (с возвратом средств покупателю) — см. Сценарий 3. Возврат оплаты.

Примеры текстовых сообщений к передаваемому статусу транзакции в случае отклонения отмены по refTransactionId:

Статус транзакцииСообщение о причине отклонения транзакции отмены

Canceled

Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> уже была отменена ранее.

Accepted

Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> уже была одобрена банком. Для отмены уже выполненной оплаты выполните операцию возврата.

Все Refund-статусы

Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> уже была одобрена банком.

Примечание. Обработка данного статуса была предусмотрена, однако такая ситуация не должна возникнуть, т.к. для оплаченных транзакций на кассе не должно быть кнопки отмены, а если транзакция находится в любом из Refund-статусов, значит, по ней выполняется/выполнялся возврат и факт оплаты точно известен.

Транзакция не найдена

Отмена отклонена, т.к. транзакция оплаты с transactionId = <transactionId> не найдена.

Точные формулировки приведены для примера и пояснения причин возможных отклонений операции отмены и могут быть изменены.

Отмена оплаты может вызываться:

  • автоматически;

  • по запросу кассира;

  • по запросу покупателя.

Автоматическая отмена оплаты

Сценарий отмены оплаты должен вызываться кассовым ПО автоматически в следующих случаях.

  • Если в течение X попыток (конфигурируемый на стороне ТСП параметр) касса не получает ответ на запрос оплаты, то касса должна автоматически вызывать отмену оплаты.

  • Если в течение X секунд (конфигурируемый на стороне ТСП параметр) касса не получила положительный статус транзакции, то касса должна автоматически вызывать отмену оплаты.

  • Если в течение X попыток (конфигурируемый на стороне ТСП параметр) касса не получает ответ на запрос возврата, то касса автоматически инициирует отмену возврата.

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

Сценарий отмены оплаты должен вызываться кассиром в следующих случаях.

Отмена оплаты после подтверждения покупателем и последующий повтор транзакции оплаты

В этом случае кассовое ПО не должно запрашивать повторное сканирование карты лояльности. Запрос должен содержать:

  • Прежний идентификатор карты cardSession;

  • Новый идентификатор запроса requestId.

Отмена оплаты до подтверждения покупателем и последующий повтор транзакции оплаты

В этом случае кассовое ПО должно запросить повторное сканирование карты лояльности. Запрос должен содержать:

  • Новый идентификатор карты cardSession;

  • Новый идентификатор запроса requestId.

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

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

Last updated