Разовая оплата в две стадии

Совет: Эта статья посвящена тому, как проводятся разовые оплаты в две стадии в платёжной платформе ecommpay, какие операции при этом используются и как меняются статусы этих платежей и операций.

Помимо этой статьи для работы с разовыми оплатами в две стадии могут быть полезны:

  • статья Оплата в две стадии с описанием того, как проводить разовые оплаты в две стадии через Gate и какие запросы и оповещения при этом актуальны в случае прямого использования платёжных карт;
  • статьи раздела Платёжные методы с описанием того, как проводить разовые оплаты в две стадии через Gate при работе с различными платёжными методами и какие запросы и оповещения могут быть актуальны при этом.

Общая информация

Разовая оплата в две стадии, или разовая двухстадийная оплата, — это тип платежа, в рамках которого для перевода денежных средств от пользователя к мерчанту сначала, на основании исходного запроса, осуществляется предварительная блокировка, а затем, на основании подтверждающего запроса или по истечении заданного периода, — списание.

Этот вариант может быть актуален, когда необходимо гарантировать возможность последующего списания или отмены блокировки суммы в зависимости от ситуации (например, при бронировании номера в отеле).

Модель проведения

Чтобы инициировать первую стадию оплаты, следует отправить в платформу запрос категории auth. Для выполнения такого запроса в платформе формируется операция auth, результатом выполнения которой является предварительная блокировка средств на счёте пользователя.

При проведении первой стадии дополнительно могут требоваться и другие запросы:

  • Если необходима аутентификация пользователя с использованием технологии 3‑D Secure, то от платформы к веб-сервису отправляется оповещение с информацией для формирования запроса к эмитенту, после чего проведение платежа в платформе приостанавливается до получения от веб-сервиса запроса с результатом аутентификации — 3ds_result.
  • Если необходима аутентификация пользователя со стороны платёжной системы по инициативе мерчанта, то в платформу поступает уведомление от платёжной системы, после чего от платформы к веб-сервису отправляется оповещение с информацией о необходимости проведения аутентификации и проведение платежа в платформе приостанавливается до получения от веб-сервиса двух запросов merchant_auth: start после получения согласия пользователя и finish после ввода пользователем проверочного кода.
  • Если необходимо уточнение информации для какой-либо из сторон, участвующих в проведении платежа (например, предоставление в платёжную систему адреса держателя карты, не переданного в исходном запросе), то от платформы к веб-сервису отправляется оповещение с названиями параметров для уточнения и проведение платежа в платформе приостанавливается до получения от веб-сервиса запроса с необходимой информацией — clarification.

Сумму средств, заблокированную в результате выполнения этой стадии, можно изменить как до выполнения второй стадии, так и одновременно с её выполнением. Для увеличения суммы до инициирования второй стадии оплаты следует отправить запрос incremental, а для уменьшения — запрос cancel.

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

Чтобы инициировать вторую стадию двухстадийной оплаты, следует отправить в платформу один из следующих запросов:

  • запрос capture, в процессе обработки которого формируется одноимённая операция и выполняется списание заблокированных средств;
  • запрос cancel, в процессе обработки которого формируется одноимённая операция и выполняется отмена блокировки средств.

При этом в запросе capture можно указать сумму списания, отличную от суммы предварительно заблокированных средств.

Подробную информацию об автоматическом инициировании второй стадии необходимо уточнять у курирующего менеджера.

Если для использованного платёжного метода поддерживается проведение возвратов, то после проведения разовой оплаты в две стадии по этой оплате можно выполнить возврат средств пользователю. Чтобы инициировать возврат, следует отправить в платформу запрос категории refund. Для выполнения такого запроса в платформе используется одна из следующих операций:

  • reversal, если запрос обрабатывается в тот же бизнес-день, в котором был проведён платёж;
  • refund, если запрос обрабатывается после закрытия бизнес-дня, в котором был проведён платёж.

Рис.: Диаграмма состояний разовой двухстадийной оплаты

Далее в рамках данного раздела представлена информация о возможных статусах разовой двухстадийной оплаты и связанных с ней операций. Более подробную информацию о проведении разовой двухстадийной оплаты с использованием платёжных карт можно найти в разделе Оплата в две стадии, а об оплате с применением альтернативных платёжных инструментов — в разделе Платёжные методы.

Статусы платежа

При проведении разовой двухстадийной оплаты могут использоваться следующие статусы.

error Проведение платежа не инициировано из-за ошибки, возникшей при проверке принятого запроса Конечное состояние. Допускается повторная отправка запроса с тем же идентификатором платежа и повторная попытка проведения этого платежа
processing Платёж проводится Промежуточное состояние
awaiting 3ds result Проведение платежа приостановлено до получения запроса на продолжение с учётом результата аутентификации 3‑D Secure3ds_result. Если такой запрос не получен в течение установленного времени, то платёж переводится в статус decline. Как правило, время ожидания такого запроса составляет 30 минут, но может варьироваться в зависимости от используемого провайдера. Для получения более подробной информации о времени ожидания следует обращаться к специалистам технической поддержки — support@ecommpay.com Промежуточное состояние
awaiting merchant auth Проведение платежа приостановлено до получения запроса на завершение аутентификации пользователя в платёжной системе по инициативе мерчанта — merchant_auth со значением finish для параметра type Промежуточное состояние
awaiting redirect result Проведение платежа приостановлено до получения уведомления с результатом со стороны платёжной системы. В зависимости от результата на стороне платёжной системы платёж переводится в статус success или decline Промежуточное состояние
awaiting clarification Проведение платежа приостановлено до получения запроса на продолжение с учётом требуемой дополнительной информации — clarification. Если такой запрос не получен в течение 30 минут, платёж переводится в статус decline Промежуточное состояние
awaiting customer Проведение платежа приостановлено до получения результата повторных попыток со стороны пользователя. При успешной повторной попытке платёж переводится в статус success, а при истечении числа безуспешных попыток — в статус decline (подробнее — в разделе Повторные попытки проведения платежей) Промежуточное состояние
awaiting capture Проведение платежа приостановлено до получения запроса на списание (capture) или на отмену предварительной блокировки средств (cancel) Промежуточное состояние
canceled Предварительная блокировка средств, выполненная по запросу auth, отменена Конечное состояние
decline Платёж отклонён Конечное состояние
success Платёж проведён Конечное состояние. Дополнительно допускается проведение возврата
partially paid Платеж с разбиением суммы частично проведен по запросу capture Конечное состояние. Дополнительно допускается отмена возврата
partially refunded Сумма платежа частично возвращена Конечное состояние. Дополнительно допускается отмена возврата
refunded Сумма платежа полностью возвращена после закрытия бизнес-дня, в котором он был проведён. Осуществлён один полный возврат суммы платежа или несколько частичных, в совокупности составляющих исходную сумму Конечное состояние. Дополнительно допускается отмена возврата
partially reversed Сумма платежа частично возвращена Конечное состояние
reversed Сумма платежа полностью возвращена до закрытия бизнес-дня, в котором он был проведён Конечное состояние

Статусы операции auth

При выполнении операции auth могут использоваться следующие статусы.

processing Операция выполняется Промежуточное состояние
awaiting 3ds result Выполнение операции приостановлено до получения запроса на продолжение с учётом результата аутентификации 3‑D Secure3ds_result. Если такой запрос не получен в течение установленного времени, то операция переводится в статус decline. Как правило, время ожидания такого запроса составляет 30 минут, но может варьироваться в зависимости от используемого провайдера. Для получения более подробной информации о времени ожидания следует обращаться к специалистам технической поддержки — support@ecommpay.com Промежуточное состояние
awaiting merchant auth Выполнение операции приостановлено до получения запроса на завершение аутентификации пользователя в платёжной системе по инициативе мерчанта — merchant_auth со значением finish для параметра type Промежуточное состояние
awaiting redirect result Выполнение операции приостановлено до получения уведомления с результатом от платёжной системы. В зависимости от результата операция переводится в статус success или статус decline Промежуточное состояние
awaiting clarification Выполнение операции приостановлено до получения запроса на продолжение с учётом требуемой дополнительной информации — clarification. Если такой запрос не получен в течение 30 минут, операция переводится в статус decline Промежуточное состояние
decline Операция отклонена Конечное состояние
success Операция выполнена Конечное состояние

Статусы операции incremental

При выполнении операции incremental могут использоваться следующие статусы.

decline Операция отклонена Конечное состояние
success Операция выполнена Конечное состояние

Статусы операций capture и cancel

При выполнении операций capture и cancel могут использоваться следующие статусы.

processing Операция выполняется Промежуточное состояние
awaiting clarification Выполнение операции приостановлено до получения запроса на продолжение с учётом требуемой дополнительной информации — clarification. Если такой запрос не получен в течение 30 минут, операция переводится в статус decline Промежуточное состояние
decline Операция отклонена Конечное состояние
success Операция выполнена Конечное состояние

Статусы операций reversal и refund

Статусы операций reversal и refund совпадают со статусами операций capture и cancel.

Дополнительные материалы

При работе с двухстадийными оплатами могут быть полезны следующие материалы: