Платёжные ссылки
Для работы с платёжными ссылками нужны разрешения MakeAcquiringOperation, ReadAcquiringData и ReadCustomerData.
С помощью методов интернет-банка можно формировать платёжные ссылки, по которым покупатели оплачивают товар или услугу — банковской картой или через Систему быстрых платежей (СБП).
Создать ссылку можно двумя способами:
- Платёжные ссылки без фискализации — метод
Create Payment Operation. - Платёжные ссылки с фискализацией — метод
Create Payment Operation With Receipt, чеки фискализируют партнёры Точки по 54-ФЗ.
Получение списка торговых точек
Метод 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. Порядок такой:
- Создайте ссылку, указав
"preAuthorization": true. - Покупатель переходит по ссылке и оплачивает картой — деньги замораживаются, но не списываются.
- Приходит вебхук
acquiringInternetPaymentсо"status": "AUTHORIZED"— деньги успешно заморожены. - Вызовите метод Capture Payment, чтобы списать замороженные деньги.
- После списания приходит вебхук
acquiringInternetPaymentсо"status": "APPROVED"— оплата прошла.
Для оплат по СБП двухэтапная оплата не предусмотрена, поэтому status всегда приходит сразу в значении APPROVED.
Несколько особенностей в работе с платёжными ссылками
- Если у вас несколько торговых точек,
merchantIdуказывать обязательно. Получить его можно методомGet Retailers.merchantIdсостоит из 15 цифр. - Для большинства методов нужен
customerCode— ваш уникальный код в системе банка. Узнать его можно методомGet Customers List, брать из поля сcustomerType: "Business". - Платёжная ссылка действует 168 часов (7 дней). После перехода у покупателя есть 1 час на оплату. По истечении он увидит ошибку, но при повторном переходе сформируется новая рабочая страница оплаты.
Возврат платежа, поступившего через платёжную ссылку
Возврат возможен только для платежей в статусе APPROVED. Он может быть полным или частичным — главное, чтобы сумма возврата не превышала сумму поступления.
Для возврата вызовите метод Refund Payment Operation и передайте operationId. Получить его можно:
- методом Get Payment Operation List, найдя нужную транзакцию;
- из вебхука
acquiringInternetPayment.
Возврат по QR-коду проходит почти мгновенно. Возврат по карте обычно занимает 3–7 календарных дней, но по правилам платёжных систем может длиться до 30 дней.
Получение реестра платежей по платёжным ссылкам
Когда нужно посчитать приход и комиссию за день, удобнее получить не отдельные транзакции, а реестр. В нём: сумма всех платежей за день, сумма каждого платежа, суммарная и поэлементная комиссия за эквайринг, прочие данные платежей и возвратов.
- Сумму всех платежей за день
- Сумму каждого платежа
- Суммарную комиссию за эквайринг с оплат картами и через T-pay
- Размер комиссии за эквайринг с каждого платежа
- Прочие данные платежей и возвратов
В реестр попадают только платежи и возвраты в статусах:
APPROVEDREFUNDEDREFUNDED_PARTIALLYWAIT_FULL_PAYMENT
Чтобы получить реестр платежей, используйте метод Get Payment Registry. В нём есть обязательные параметры:
- customerCode — ваш уникальный код. Его можно узнать, вызвав метод Get Customers List.
- merchantId — идентификатор вашей торговой точки в интернет-эквайринге. Можно получить с помощью метода Get Retailers — он будет внутри объекта с данными торговой точки.
- date — день, за который нужно сформировать реестр.
Если формировать реестр за текущую дату, в него не попадут транзакции по картам, выполненные в этот день — они ещё обрабатываются процессингом и не завершены.