Одна из проблем, с которой я сталкивался, — это возможность для клиента изменить данные своей кредитной карты. В последний раз, когда возникла такая ситуация, я отменил их подписку и попросил оформить новую. Наконец, я узнал, как создать ссылку на страницу Stripe, где клиенты могут просмотреть историю счетов, добавить способ оплаты и обновить платежную информацию (адрес электронной почты).
Я хотел бы отправить PR в плагин подписок, чтобы добавить эту ссылку, но прямо сейчас у меня нет нескольких часов, необходимых для этого. Поэтому вот как сделать это вручную в Rails:
Привет, не могли бы вы подробнее рассказать о приведённом коде и о том, как его использовать?
Мне также нужно, чтобы мои пользователи могли получать доступ к порталу Stripe, так как по закону я обязан предоставлять им счёт-фактуру, который не отправляется автоматически при создании подписки через API:
Я нашёл обходное решение: использовать компонент темы «Ссылки в пользовательском гамбургер-меню» и добавить ссылку на портал Stripe. Это работает, но не очень удобно для пользователей, которым приходится входить через ссылку из письма.
Вам нужно будет встроить его в плагин, который генерирует ссылку и добавляет её в сериализатор, а затем разместить эту ссылку в интерфейсе пользователя (UX). У меня пока не нашлось на это времени. Это работает из консоли Rails, но это не очень практично.
Похоже, что код всё ещё работает.
Самый простой вариант — форкнуть плагин и добавить код. Более сложный, но гораздо лучший путь — добавить код и тесты так, чтобы его приняли в виде PR. Если у вас есть бюджет, вы можете написать в канал Marketplace или связаться со мной напрямую. Золотая середина — создать плагин, который, например, добавляет ссылку в сериализатор, чтобы вы могли затем разместить её в интерфейсе пользователя, например, в меню-бургере, как вы делаете сейчас.
Спасибо за ваш ответ и объяснение. К сожалению, у меня нет опыта разработки плагинов, и я могу выполнять лишь незначительные правки в HTML/CSS, а также, при необходимости, некоторые команды в консоли Rails.
Пока что я, пожалуй, останусь на своём обходном пути. Также я добавлю ссылку на Stripe Portal везде, где это возможно, при подписке пользователя (Администрирование > Настройка > Текст).
Эта ссылка имеет ограниченный срок действия, поэтому, на мой взгляд, правильным решением будет добавить маршрут, выполняющий редирект. Это избавит от необходимости отслеживать, когда нужно получить новую ссылку, и избавит от лишних запросов для получения ссылок, на которые всё равно никто не перейдёт.
Это всё ещё плагин, но, думаю, это будет гораздо более простой PR.
Ах, я думаю, мы говорим не об одной и той же ссылке… Вы, вероятно, имеете в виду ссылку, сгенерированную из предоставленного вами кода. Я говорю о ссылке для клиентского портала без кода, которую я могу активировать в панели управления Stripe. Я полагаю, что эта ссылка действительна, пока портал активирован.
Да. Если я правильно помню, мой код просто не дает им ввести адрес электронной почты и получить ссылку самостоятельно по почте (и знать, какой адрес они использовали). Если этого достаточно, то вы полностью готовы.
Действительно! И это большая помощь (и во многом именно поэтому я ничего не делал по поводу magic link). Однако это не решает проблему доступа к истории платежей и ссылкам на счета.