Подписки: поддержка iDEAL

Как добавить оплату iDEAL на страницу подписок?
И цены, которые мы вводим в плагин, включают НДС или нет?

1 лайк

Можете уточнить, что именно вы имеете в виду?

Это зависит от вас, так как этот плагин служит только интерфейсом для Stripe, а не полноценной службой выставления счетов за продукты.

1 лайк

iDeal — это распространённый нидерландский способ оплаты.

2 лайка

Спасибо за уточнение, @RGJ.

@PatrickH, к сожалению, этот плагин поддерживает только Stripe, и в планах на будущее не предусмотрено добавление поддержки других процессоров платежей.

1 лайк

Хорошо, но Stripe поддерживает iDEAL. Как мне это реализовать?

1 лайк

Ого, приношу свои извинения. Я недостаточно внимательно посмотрел. Позвольте мне разобраться.

РЕДАКТИРОВАНИЕ: Похоже, нам придётся добавить дополнительную обработку этого в плагине. На данный момент это не входит в план работ, но если найдётся достаточная поддержка (или будет представлен PR), я с радостью добавлю эту функцию.

2 лайка

@justin, если ты дашь мне несколько базовых указаний, куда смотреть, я могу попробовать сделать PR.

5 лайков

При первом взгляде на iDEAL он кажется похожим на настройку 3DS. Посмотрите этот коммит, где были внесены эти изменения:

Сложность будет заключаться в обработке как разовых платежей, так и подписок. Оба типа работают немного по-разному с PaymentIntents, поэтому, возможно, потребуется специальная обработка.

6 лайков

@RGJ Раз уж ты в теме, проверь, возможно ли добавить Multibanco и Klarna. :wink: (Кажется, они поддерживают только разовые платежи, но всё же)

2 лайка

Итак, я потратил некоторое время на изучение того, как добавить оплату через 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% онлайн-платежей осуществляется с помощью кредитных карт).

9 лайков