Платежи с банковских карт и через Mir Pay можно повторять без подтверждения покупателя. Для этого необходимо провести стандартную оплату и заручиться согласием покупателя на последующие списания. Такие платежи также называют безакцептными, рекуррентными и автоплатежами.
- Разработайте на своей стороне соглашение с пользователем, в котором вы оговорите срок и сумму регулярных платежей. Расскажите покупателям, каким образом они смогут отказаться от автоплатежей в вашем магазине, это нужно для согласования подключения.
- Обратитесь к своему менеджеру ЮKassa. Он включит для вашего магазина возможность проводить повторные платежи.
- Реализуйте возможность повтора платежей с помощью метода repeatCardPayment.
Сохранить данные карты для повторных платежей можно при оплате банковской картой или через Mir Pay. Процесс повторной оплаты для этих способов аналогичен: он состоит из этапа привязки карты при первой оплате и этапа повторного платежа сохраненным способом.
Ниже описан сценарий повторной оплаты на примере банковской карты.
Процесс первой оплаты
- Пользователь соглашается с условиями повтора платежей на стороне магазина.
- Пользователь выбирает оплату с банковской карты (на сайте магазина или на стороне ЮKassa) и нажимает Оплатить.
- Данные, которые вводит пользователь в интерфейсе магазина, передаются в платежный сервис ЮKassa. Вместе с ними передается параметр
rebillingOn
. - Пользователь попадает на страницу подтверждения платежа на стороне ЮKassa — с выбранным способом оплаты и параметрами платежа.
- В параметре
rebillingOn
передаетсяtrue
или1
: пользователь не сможет отказаться от повторных списаний (но сможет прервать оплату). Если такой платеж пройдет успешно, его можно будет повторять. - В параметре
rebillingOn
передаетсяfalse
или0
: оплата проходит как обычно, повторить ее не получится. - Если этот параметр не передается или его значение отличается от
0
,1
,true
,false
, пользователь увидит галочку Запомнить карту и сможет разрешить повторные списания.
- В параметре
- Пользователь вводит реквизиты банковской карты и подтверждает платеж. Если в этот момент пользователь снимает галочку Запомнить карту, платеж пройдет, но его нельзя будет повторить.
- После платежа магазину приходят стандартный запрос checkOrder.
- Если магазин отвечает на запрос checkOrder положительно, деньги списываются с карты.
- Пользователь видит результат — страницу с сообщением об успешном платеже или страницу с ошибкой. И получает сообщение о списании ЮKassa, если указал электронную почту во время оплаты.
- На странице результата отображается ссылка Вернуться в магазин. По ней пользователь может перейти на страницу магазина, адрес которой вы указали в настройках.
- После успешного платежа в магазин приходит запрос paymentAviso c дополнительным параметром
rebillingOn
. Если он равенtrue
, магазин может сохранить параметрinvoiceId
и использовать его для последующих платежей. - Если магазин отвечает на запрос paymentAviso положительно, такой платеж считается успешным.
Процесс повторной оплаты
- Магазин самостоятельно предупреждает пользователя о списании.
- Оплата проводится без участия пользователя. Магазин выполняет запрос repeatCardPayment, в параметре
invoiceId
указывает значение из первой успешной оплаты этого пользователя. - Магазин получает ответ на запрос repeatCardPayment.
- После платежа магазину приходят стандартный запрос checkOrder.
- Магазин подтверждает корректность заказа либо отказывается проводить платеж.
- Если магазин отвечает на запрос checkOrder положительно, деньги списываются с карты.
- Магазин получает запрос paymentAviso с данными об успешной оплате. Связать его с отправленным запросом repeatCardPayment можно по значению параметра
orderNumber
. - Если магазин отвечает на запрос paymentAviso положительно, оплата считается успешной.
- Если пользователь при первой оплате указал электронную почту, ему приходит сообщение о списании ЮKassa.