Протокол приема платежей для магазинов

Повтор оплаты

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

Как подключить повтор оплаты

  1. Разработайте на своей стороне соглашение с пользователем, в котором вы оговорите срок и сумму регулярных платежей. Расскажите покупателям, каким образом они смогут отказаться от автоплатежей в вашем магазине, это нужно для согласования подключения.
  2. Обратитесь к своему менеджеру в Кассе. Он включит для вашего магазина возможность проводить повторные платежи.
  3. Реализуйте возможность повтора платежей с помощью метода repeatCardPayment.

Сценарий с точки зрения магазина

1. Первая оплата (с привязкой карты в процессе)

  1. Пользователь соглашается с условиями повтора платежей на стороне магазина.
  2. Пользователь выбирает оплату с банковской карты (на сайте магазина или на стороне Кассы) и нажимает Оплатить.
  3. Данные, которые вводит пользователь в интерфейсе магазина, передаются в платежный сервис Кассы. Вместе с ними передается параметр rebillingOn.
  4. Пользователь попадает на страницу подтверждения платежа на стороне Яндекс.Кассы — с выбранным способом оплаты и параметрами платежа.
    • В параметре rebillingOn передается true или 1: пользователь не сможет отказаться от повторных списаний (но сможет прервать оплату). Если такой платеж пройдет успешно, его можно будет повторять.
    • В параметре rebillingOn передается false или 0: оплата проходит как обычно, повторить ее не получится.

    • Если этот параметр не передается или его значение отличается от 0, 1, true, false, пользователь увидит галочку Запомнить карту и сможет разрешить повторные списания.
  5. Пользователь вводит реквизиты банковской карты и подтверждает платеж. Если в этот момент пользователь снимает галочку Запомнить карту, платеж пройдет, но его нельзя будет повторить.
  6. После платежа магазину приходят стандартный запрос checkOrder.
  7. Если магазин отвечает на запрос checkOrder положительно, деньги списываются с карты.
  8. Пользователь видит результат — страницу с сообщением об успешном платеже или страницу с ошибкой. И получает сообщение о списании от Кассы, если указал электронную почту во время оплаты.
  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. Если пользователь при первой оплате указал электронную почту, ему приходит сообщение о списании от Кассы.

Смотрите также

Метод repeatCardPayment

Финансовые операции

Метод cancelPayment