API ЮKassa
Помощь
Подключить ЮKassa
Повтор оплаты
Платежи с банковских карт и через Mir Pay можно повторять без подтверждения покупателя. Для этого необходимо провести стандартную оплату и заручиться согласием покупателя на последующие списания. Такие платежи также называют безакцептными, рекуррентными и автоплатежами.
Как подключить повтор оплаты
  1. Разработайте на своей стороне соглашение с пользователем, в котором вы оговорите срок и сумму регулярных платежей. Расскажите покупателям, каким образом они смогут отказаться от автоплатежей в вашем магазине, это нужно для согласования подключения.
  2. Обратитесь к своему менеджеру ЮKassa. Он включит для вашего магазина возможность проводить повторные платежи.
  3. Реализуйте возможность повтора платежей с помощью метода repeatCardPayment.
Сценарий с точки зрения магазина
Сохранить данные карты для повторных платежей можно при оплате банковской картой или через Mir Pay. Процесс повторной оплаты для этих способов аналогичен: он состоит из этапа привязки карты при первой оплате и этапа повторного платежа сохраненным способом.
Ниже описан сценарий повторной оплаты на примере банковской карты.
1. Первая оплата (с привязкой карты в процессе)
Процесс первой оплаты
  1. Пользователь соглашается с условиями повтора платежей на стороне магазина.
  2. Пользователь выбирает оплату с банковской карты (на сайте магазина или на стороне ЮKassa) и нажимает Оплатить.
  3. Данные, которые вводит пользователь в интерфейсе магазина, передаются в платежный сервис ЮKassa. Вместе с ними передается параметр rebillingOn.
  4. Пользователь попадает на страницу подтверждения платежа на стороне ЮKassa — с выбранным способом оплаты и параметрами платежа.
    • В параметре rebillingOn передается true или 1: пользователь не сможет отказаться от повторных списаний (но сможет прервать оплату). Если такой платеж пройдет успешно, его можно будет повторять.
    • В параметре rebillingOn передается false или 0: оплата проходит как обычно, повторить ее не получится.
    • Если этот параметр не передается или его значение отличается от 0, 1, true, false, пользователь увидит галочку Запомнить карту и сможет разрешить повторные списания.
  5. Пользователь вводит реквизиты банковской карты и подтверждает платеж. Если в этот момент пользователь снимает галочку Запомнить карту, платеж пройдет, но его нельзя будет повторить.
  6. После платежа магазину приходят стандартный запрос checkOrder.
  7. Если магазин отвечает на запрос checkOrder положительно, деньги списываются с карты.
  8. Пользователь видит результат — страницу с сообщением об успешном платеже или страницу с ошибкой. И получает сообщение о списании ЮKassa, если указал электронную почту во время оплаты.
  9. На странице результата отображается ссылка Вернуться в магазин. По ней пользователь может перейти на страницу магазина, адрес которой вы указали в настройках.
  10. После успешного платежа в магазин приходит запрос paymentAviso c дополнительным параметром rebillingOn. Если он равен true, магазин может сохранить параметр invoiceId и использовать его для последующих платежей.
  11. Если магазин отвечает на запрос paymentAviso положительно, такой платеж считается успешным.
2. Повторная оплата
Процесс повторной оплаты
  1. Магазин самостоятельно предупреждает пользователя о списании.
  2. Оплата проводится без участия пользователя. Магазин выполняет запрос repeatCardPayment, в параметре invoiceId указывает значение из первой успешной оплаты этого пользователя.
  3. Магазин получает ответ на запрос repeatCardPayment.
  4. После платежа магазину приходят стандартный запрос checkOrder.
  5. Магазин подтверждает корректность заказа либо отказывается проводить платеж.
  6. Если магазин отвечает на запрос checkOrder положительно, деньги списываются с карты.
  7. Магазин получает запрос paymentAviso с данными об успешной оплате. Связать его с отправленным запросом repeatCardPayment можно по значению параметра orderNumber.
  8. Если магазин отвечает на запрос paymentAviso положительно, оплата считается успешной.
  9. Если пользователь при первой оплате указал электронную почту, ему приходит сообщение о списании ЮKassa.
Что почитать еще
Метод repeatCardPaymentФинансовые операцииМетод cancelPayment