Автоплатежи с авторизацией карты при первой операции

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

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

Особенности сценария:

  • В сценарии могут использоваться только платежные методы, которые поддерживают автоплатежи и используют оплату картой (код платежного метода: CreditCard), см. справочник платежных методов
  • При первой операции:
    • Покупатель должен предоставить согласие на хранение его платежных данных и их дальнейшее использование на определённых условиях. Ознакомление покупателя с условиями и получение согласия находится на вашей стороне
    • Авторизация карты не требует проведения оплаты. В процессе выполнения с карты может быть списана незначительная сумма, которая будет автоматически возвращена после завершения обработки авторизации
  • При автоплатежах:
    • Оплата инициируется вашим запросом, выполняется автоматически и не требует действий со стороны покупателя
    • Расписание автоплатежей хранится на вашей стороне. Периоды между автоплатежами могут быть любыми и могут отличаться друг от друга
    • Платежный метод используется тот же, что и при первой операции и не может быть изменен при проведении автоплатежа

Сценарий состоит из двух этапов:

  • Выполните запрос на авторизацию для работы с API (/v1/login_check)
  • Выполните запрос на создание платежа (/v1/payment)
    В запросе передайте значения параметров: "amount": "0.0", "payment_method": "CreditCard", "recurring_indicator":true
    Остальные параметры заполните, как при создании обычного платежа (см. описание запроса)
  • Выполните авторизацию карты через платежную форму Softline Payments:
    • Перенаправьте покупателя на платежную форму, например, отобразив форму по ссылке в iframe.
      Ссылку на платежную форму вы получили в ответе на запрос на создание платежа.
      Обратите внимание! Платежная форма не содержит описания условий автоплатежей и не запрашивает согласие покупателя на сохранение и обработку платежных данных. Получение согласия покупателя на автоплатежи выполняется на вашей стороне.
    • Покупатель должен заполнить данные карты и платежной форме и инициировать авторизацию
    • Если при авторизации карты происходит ошибка, то информация об ошибке отражается на стороне платежной формы. Покупатель видит сообщение об ошибке в платежной форме и сможет повторить попытку
    • После успешной авторизации карты покупатель перенаправляется на вашу сторону по ссылке, переданной в запросе при создании платежа.
      Обратите внимание: нельзя считать авторизацию выполненной по факту перехода на URL успешной оплаты (return_success_url), так как покупатель может не дождаться перехода и закрыть страницу оплаты или подобрать URL возврата и перейти на него самостоятельно
  • Дождитесь успешного завершения авторизации. Для этого подождите пока придет webhook-уведомление или проверьте статус платежа с помощью запроса получения данных о платеже
    • В случае успешной авторизации вы получите webhook-уведомление о событии order.payment.succeeded. Статус обработки платежа изменится на paid
    • При ошибке авторизации вы получите webhook-уведомление о событии order.payment.failed. Статус платежа не изменится
    • Если авторизация не была выполнена, то статус платежа останется not paid. Срок жизни платежа в этом равен 90 дней. После этого происходит автоматическое изменение статуса на deleted
  • Выполните запрос на авторизацию для работы с API (/v1/login_check)
  • Выполните запрос на проведение автоплатежа (/v1/payment/recurring)
    • В результате будет создан платеж и инициировано проведение оплаты
    • Автоплатеж будет выполнен с использованием платежных данных из родительского платежа
    • Валюта автоплатежа должна совпадать с валютой родительского платежа
  • При проведении оплаты нами предпринимается только одна попытка выполнения
  • Дождитесь успешного завершения оплаты. Для этого подождите пока придет webhook-уведомление или проверьте статус платежа с помощью запроса получения данных о платеже
    • В случае успешной оплаты вы получите webhook-уведомление о событии order.payment.succeeded. Статус обработки платежа изменится на paid
    • При ошибке оплаты вы получите webhook-уведомление о событии order.payment.failed. Статус платежа не изменится
    • Если платеж не был оплачен, то его статус останется not paid. Срок жизни платежа в этом равен 90 дней. После этого происходит автоматическое изменение статуса на deleted
  • Если нужно повторить попытку оплаты, то выполните запрос на проведение автоплатежа (/v1/payment/recurring). В результате будет создан новый платеж. Обратите внимание, создание нового платежа не влияет на ранее созданный. Их оплата выполняется независимо друг от друга
Схема успешного взаимодействия с авторизацией карты через платежную форму Softline Payments