Оплата по платёжной ссылке

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

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

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

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

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

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

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

Чтобы инициировать создание платёжной ссылки, следует отправить в платформу запрос invoice/create. Для выполнения такого запроса формируется операция invoice, результатом которой является создание платёжной ссылки и её отправка в оповещении к веб-сервису, а также, при необходимости, в письме на электронную почту пользователя. Стандартные вид и содержание письма, отправляемого на электронную почту, представлены в примере далее.

Рис. 1. Пример письма с платёжной ссылкой


После отправки ссылки, но до подтверждения пользователем проведения платежа, её можно сделать недействительной. Для этого необходимо отправить в платёжную платформу запрос категории invoice/cancel.

Пользователю после перехода по платёжной ссылке отображается платёжная форма Payment Page, в которой он указывает свои платёжные данные и подтверждает проведение оплаты. Далее, в зависимости от значения параметра card_operation_type, переданного в запросе, оплата проводится в соответствии с одним из следущих вариантов:

  • Разовая оплата в одну стадию. Для проведения этого варианта оплаты в платёжной платформе формируется операция sale, результатом выполнения которой является списание средств со счёта пользователя.
  • Разовая оплата в две стадии. Для проведения первой стадии этого варианта оплаты в платёжной платформе формируется операция auth, результатом выполнения которой является предварительная блокировка средств пользователя. Вторая стадия такой оплаты может быть инициирована одним из следующих способов:
    • со стороны веб-сервиса мерчанта по запросу,
    • со стороны сотрудников мерчанта через интерфейс Dashboard,
    • со стороны платёжной платформы автоматически через заданный период.

Для любого из вариантов оплаты по платёжной ссылке в процессе проведения платежа могут выполняться одна или несколько вспомогательных процедур, однако дополнительных действий со стороны веб-сервиса при этом не требуется — все действия выполняются на стороне Payment Page.

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

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

Далее, если платёж проведён с регистрацией дальнейших списаний в рамках повторяемой оплаты, такая оплата проводится в соответствии с одним из следущих вариантов:со списаниями по запросам или с автоматическими списаниями — в зависимости от значения параметра type в объекте recurring, переданного в запросе на проведение оплаты по ссылке. Для выполнения каждого следующего списания в платформе используется операция recurring, статусы которой представлены в соответствующих моделях проведения повторяемых оплат.

Рис. 2. Диаграмма состояний оплаты по платёжной ссылке в две стадии


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

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

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

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

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

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

awaiting payment Выполнение операции инициировано, ожидается отправка платёжной ссылки Промежуточное состояние
expired Операция выполнена, срок действия платёжной ссылки истёк Конечное состояние
invoice canceled Выполнение операции отменено по инициативе мерчанта Конечное состояние
invoice sent Операция выполнена, платёжная ссылка отправлена Конечное состояние

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

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

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

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

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

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

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

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

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

При работе с оплатами по платёжным ссылкам могут быть полезны следующие материалы: