Покупка через корзину с последующими автоплатежами
Обзор возможностей
В этом сценарии комбинируются возможности Softline Checkout и Softline Payments:
- На первом этапе покупатель совершает покупку через корзину Softline Checkout.
При этом платежные данные покупателя сохраняются и далее их можно использовать для повторных автоматических платежей. - Дальнейшие платежи инициируются по вашему запросу.
При этом:- Оплата инициируется вашим запросом, выполняется автоматически и не требует действий со стороны покупателя
- Расписание автоплатежей хранится на вашей стороне. Периоды между автоплатежами могут быть любыми и могут отличаться друг от друга
- Сумма автоплатежа может отличаться от суммы платежа при первой операции
- Платежный метод используется тот же, что и при первой операции и не может быть изменен при проведении автоплатежа
Технически и на первом, и на последующих шагах сценария создаются отдельные заказы для проведения платежа.
Сценарий состоит из двух этапов:
Последовательность шагов
Предварительные настройки подключения
Помимо подключения к Softline Payments вам необходима корзина Softline Checkout, через которую покупатель будет совершать первую покупку.
- Используйте Merchant portal (https://merchants.softline.com/), чтобы:
- Развернуть корзину.
- Создать продукты.
- Настроить доставку продуктов, если вы планируете использовать наши способы электронной доставки продуктов.
- Получить ссылки на покупку ваших продуктов.
Вы также может генерировать ссылки на покупку через Dynamic Product Checkout API. - Подключитесь к Payments API через портал, если вы это не сделали ранее.
Это необходимо для проведения автоплатежей. - Подлючите webhook-оповещения и (или) Orders API через портал, если вы это не сделали ранее.
Это необходимо, чтобы узнавать об оплате родительского заказа и успешном завершении заказа на автоплатеж. - Обратитесь в службу поддержки (merchants.help@softline.com) для настройки вашей корзины, которая может включать:
- Изменение стандартного согласия с условиями продажи для добавления согласия на проведение автоматчиских платежей.
- Изменение стандартных способов оплаты заказа (отключение способов, которые не поддерживают автоплатежи).
- Также мы можем кастомизировать дизайн корзины, если вы захотите ее встроить в сайт или приложение на вашей стороне.
- Разработайте сервисы на вашей стороне:
- Для отправки запроса на автоплатежи: сервис для авторизации через Authentication API и для проведения автоплатежа через Payments API на вашей стороне.
- Для получения webhook-оповещений и (или) получения данных по заказу через Orders API.
Эти сервисы работают одновременно и по заказам с корзины Checkout, и по заказам, созданным для проведения автоплатежам через Payments API.
- Разместите ссылки на покупку через корзину Softline Checkout на вашей стороне.
Шаг 1: покупка через корзину
- Направьте покупателя по ссылке на покупку в вашу корзину.
- Покупатель совершает дальнейшие шаги самостоятельно:
- Заполняет данные, необходимые для оформления заказа.
- Выбирает способ оплаты.
- Предоставляет согласие на обработку персональных данных и их сохранение для последующих автооплат.
- При создании заказа для него автоматически сохраняется признак
"recurring_indicator":true
, чтобы зарегистрировать платеж в качестве родительского для последующих автооплат.
- Покупатель оплачивает заказ стандартным образом через корзину.
- Дождитесь успешного завершения оплаты. Для этого подождите пока придет webhook-уведомление о событии order.payment.succeeded. Или проверьте наличие заказа и его статус заказа через Orders API. Оплаченный заказ имеет статус paid.
После того, как заказ, созданный через корзину успешно оплачен, вы можете проводить повторные автооплаты по данному заказу.
Шаг 2: проведение последующих автоплатежей
- Выполните запрос на авторизацию для работы с API (
/v1/login_check
). - Выполните запрос на проведение автоплатежа (
/v1/payment/recurring
).
Обратите внимание: родительский заказ должен быть оплачен, сумма автоплатежа может отличаться от суммы первоначальной покупки. - В результате будет создан заказ на проведение автоплатежа и инициировано проведение его оплаты.
Оплата выполняется автоматически с использованием платежных данных из родительского заказа и не требует действий со стороны покупателя. При проведении оплаты нами предпринимается только одна попытка выполнения. - Дождитесь успешного завершения оплаты. Для этого подождите пока придет webhook-уведомление или проверьте статус заказа с помощью запроса получения данных заказа.
- В случае успешной оплаты вы получите webhook-уведомление о событии order.payment.succeeded. Статус заказа изменится на paid.
- При ошибке оплаты вы получите webhook-уведомление о событии order.payment.failed. Статус платежа не изменится. Если вы получили такое оповещение, то это значит, что повторных попыток автоматической оплаты больше не будет. Если нужно повторить автооплату, то отправьте новый запрос на проведеление автоплатежа (будет создан новый заказ).
- Если заказ не был оплачен, то его статус останется not paid. Срок жизни заказа равен 90 дней. После этого происходит автоматическая отмена заказа и изменение статуса на deleted.
- Если нужно повторить попытку оплаты, то выполните запрос на проведение автоплатежа (
/v1/payment/recurring
). В результате будет создан новый заказ на автоплатеж. Обратите внимание, создание нового заказа не влияет на ранее созданный. Их оплата выполняется независимо друг от друга.