Как добавить оплату iDEAL на страницу подписок?
И цены, которые мы вводим в плагин, включают НДС или нет?
Можете уточнить, что именно вы имеете в виду?
Это зависит от вас, так как этот плагин служит только интерфейсом для Stripe, а не полноценной службой выставления счетов за продукты.
iDeal — это распространённый нидерландский способ оплаты.
Спасибо за уточнение, @RGJ.
@PatrickH, к сожалению, этот плагин поддерживает только Stripe, и в планах на будущее не предусмотрено добавление поддержки других процессоров платежей.
Хорошо, но Stripe поддерживает iDEAL. Как мне это реализовать?
Ого, приношу свои извинения. Я недостаточно внимательно посмотрел. Позвольте мне разобраться.
РЕДАКТИРОВАНИЕ: Похоже, нам придётся добавить дополнительную обработку этого в плагине. На данный момент это не входит в план работ, но если найдётся достаточная поддержка (или будет представлен PR), я с радостью добавлю эту функцию.
@justin, если ты дашь мне несколько базовых указаний, куда смотреть, я могу попробовать сделать PR.
При первом взгляде на iDEAL он кажется похожим на настройку 3DS. Посмотрите этот коммит, где были внесены эти изменения:
Сложность будет заключаться в обработке как разовых платежей, так и подписок. Оба типа работают немного по-разному с PaymentIntents, поэтому, возможно, потребуется специальная обработка.
@RGJ Раз уж ты в теме, проверь, возможно ли добавить Multibanco и Klarna.
(Кажется, они поддерживают только разовые платежи, но всё же)
Итак, я потратил некоторое время на изучение того, как добавить оплату через iDeal. На самом деле речь идёт не о iDeal, а о SEPA Direct Debit. Это общеевропейский стандарт, позволяющий автоматически и периодически списывать средства с дебетового счёта.
Процесс SEPA Direct Debit требует наличия мандата, который по сути является номером счёта (IBAN).
Вот как выглядит этот процесс (Set up a subscription with SEPA Direct Debit | Stripe Documentation):
-
клиент выбирает «SEPA Direct Debit» в качестве способа оплаты;
-
отображается элемент Stripe для ввода IBAN, и клиент вводит номер своего банковского счёта;
-
для валидации этого счёта клиент должен совершить успешный платёж с его помощью.
Обычно это списание за первый период подписки или сумма в € 0,01.
В Нидерландах для этого шага используется iDeal (Accept a SEPA Direct Debit payment | Stripe Documentation). Если используется iDeal, клиент выбирает свой банк из выпадающего списка и перенаправляется на сайт этого банка. Там он использует механизм двухфакторной аутентификации (чаще всего QR-код с приложением на смартфоне или аппаратный токен) для авторизации платежа. Затем он может быть перенаправлен обратно на исходный сайт, в то время как подтверждение платежа происходит через прямой вебхук (не через браузер, а напрямую между процессором платежей и сайтом).
Кажется, что это находится в бета-версии, и текущий метод принятия платежей SEPA через Stripe вообще не требует этого шага валидации (?) -
клиент принимает стандартный текст авторизации;
-
создаётся объект SetupIntent.
Далее процесс продолжается аналогично потоку с кредитной картой.
Учитывая сложность плагина и сложность самого процесса, я не в силах (то есть не обладаю достаточными навыками) создать pull request для этого. Я готов помочь и предоставить тестовые мощности.
Поддержка SEPA стала бы большим шагом для европейского рынка, где кредитные карты до сих пор довольно непопулярны среди значительной части потребителей (по моим оценкам, только около 15% онлайн-платежей осуществляется с помощью кредитных карт).
