Перейти к основному содержимому

Платёжные ссылки

Для работы с платёжными ссылками нужны разрешения MakeAcquiringOperation, ReadAcquiringData и ReadCustomerData.

С помощью методов интернет-банка можно формировать платёжные ссылки, по которым покупатели оплачивают товар или услугу — банковской картой или через Систему быстрых платежей (СБП).

Создать ссылку можно двумя способами:

Получение списка торговых точек

Метод Get Retailers возвращает информацию о подключённых торговых точках. В ответе приходит:

  • status — статус регистрации. Работать с платёжными ссылками можно только при статусе REG.
  • isActive — готовность точки к работе. Должно быть true.
  • mcc — MCC-код вашей деятельности.
  • rate — размер комиссии при оплате картой.
  • name — наименование торговой точки.
  • url — адрес сайта регистрации точки.
  • merchantId — идентификатор торговой точки.
  • terminalId — идентификатор интернет-эквайринга.
  • paymentModes — доступные способы оплаты.
  • cashbox — информация о подключённой онлайн-кассе.

Получение списка операций по платёжным ссылкам

Метод Get Payment Operation List возвращает список операций и их статусы. Указывайте даты fromDate и toDate, чтобы не получить весь список за всё время работы.

Метод Get Payment Operation Info возвращает информацию по одной операции. Для вызова нужен operationId — его можно взять из вебхука acquiringInternetPayment или из списка операций.

Создание ссылки с двухэтапной оплатой

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

За двухэтапную оплату отвечает поле preAuthorization в методах Create Payment Operation и Create Payment Operation With Receipt. Порядок такой:

  1. Создайте ссылку, указав "preAuthorization": true.
  2. Покупатель переходит по ссылке и оплачивает картой — деньги замораживаются, но не списываются.
  3. Приходит вебхук acquiringInternetPayment со "status": "AUTHORIZED" — деньги успешно заморожены.
  4. Вызовите метод Capture Payment, чтобы списать замороженные деньги.
  5. После списания приходит вебхук acquiringInternetPayment со "status": "APPROVED" — оплата прошла.
примечание

Для оплат по СБП двухэтапная оплата не предусмотрена, поэтому status всегда приходит сразу в значении APPROVED.

Несколько особенностей в работе с платёжными ссылками

  • Если у вас несколько торговых точек, merchantId указывать обязательно. Получить его можно методом Get Retailers. merchantId состоит из 15 цифр.
  • Для большинства методов нужен customerCode — ваш уникальный код в системе банка. Узнать его можно методом Get Customers List, брать из поля с customerType: "Business".
  • Платёжная ссылка действует 168 часов (7 дней). После перехода у покупателя есть 1 час на оплату. По истечении он увидит ошибку, но при повторном переходе сформируется новая рабочая страница оплаты.

Возврат платежа, поступившего через платёжную ссылку

Возврат возможен только для платежей в статусе APPROVED. Он может быть полным или частичным — главное, чтобы сумма возврата не превышала сумму поступления.

Для возврата вызовите метод Refund Payment Operation и передайте operationId. Получить его можно:

Инфо

Возврат по QR-коду проходит почти мгновенно. Возврат по карте обычно занимает 3–7 календарных дней, но по правилам платёжных систем может длиться до 30 дней.

Получение реестра платежей по платёжным ссылкам

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

  • Сумму всех платежей за день
  • Сумму каждого платежа
  • Суммарную комиссию за эквайринг с оплат картами и через T-pay
  • Размер комиссии за эквайринг с каждого платежа
  • Прочие данные платежей и возвратов
инфо

В реестр попадают только платежи и возвраты в статусах:

  • APPROVED
  • REFUNDED
  • REFUNDED_PARTIALLY
  • WAIT_FULL_PAYMENT

Чтобы получить реестр платежей, используйте метод Get Payment Registry. В нём есть обязательные параметры:

  • customerCode — ваш уникальный код. Его можно узнать, вызвав метод Get Customers List.
  • merchantId — идентификатор вашей торговой точки в интернет-эквайринге. Можно получить с помощью метода Get Retailers — он будет внутри объекта с данными торговой точки.
  • date — день, за который нужно сформировать реестр.
инфо

Если формировать реестр за текущую дату, в него не попадут транзакции по картам, выполненные в этот день — они ещё обрабатываются процессингом и не завершены.