#ruby-on-rails #ruby #stripe-payments
Вопрос:
У меня есть крошечное приложение rails. В настоящее время подписки активны в моем приложении с помощью Stripe amp; Pay Gem, что довольно просто. Но теперь у меня возникла проблема, или я не знаю, как я могу добавить какое-то пользовательское действие после успешной оплаты.
Итак, вот что я хочу сделать.
У меня есть модель под названием Тема, и в модели есть поле файла. Теперь я хочу, чтобы после оплаты пользователь получил электронное письмо со ссылкой на файл.
Кто-нибудь здесь может дать мне некоторые указания о том, как я могу это сделать?
Обновить:
У меня есть некоторые коды из документации по оплате, но я не знаю, как их реализовать.
Pay::Webhooks.delegator.subscribe "stripe.checkout.session.completed", FulfillCheckout.new
Pay::Webhooks.delegator.subscribe "stripe.checkout.session.async_payment_succeeded", FulfillCheckout.new
class FulfillCheckout
def call(event)
object = event.data.object
if object.payment_status == "paid"
# Handle fulfillment
end
end
end
Может ли кто-нибудь провести меня через это?
Спасибо
Комментарии:
1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.
Ответ №1:
Я раньше не использовал драгоценный камень оплаты, но в документах есть описание того, что нужно сделать после успешного платежа:
Выполнение заказов после завершения оформления заказа
Для разовых платежей вам потребуется добавить прослушиватель веб-крючка для событий Checkout stripe.checkout.session.completed и stripe.checkout.session.async_payment_succeeded. Некоторые способы оплаты задерживаются, поэтому вам необходимо проверить статус платежа == «оплачено». Событие асинхронного успешного платежа срабатывает при завершении отложенных платежей.
Таким образом, исходя из этого, в вашем прослушивателе webhook вы должны запустить SMTP или какой-либо другой способ отправки электронной почты и иметь ссылку на theme.file_name
. Это обрабатывается по-разному в зависимости от того, как вы доставляете электронные письма своим пользователям.
Комментарии:
1.Привет @RailsDevNewbie Спасибо, что указал. Я видел документы, но я не уверен в коде, который они добавили. так что эта часть
Pay::Webhooks.delegator.subscribe "stripe.checkout.session.completed", FulfillCheckout.new
Pay::Webhooks.delegator.subscribe "stripe.checkout.session.async_payment_succeeded", FulfillCheckout.new
« Я должен бежать с консоли? amp; Создать модель c и Добавить условия в модель? Как я могу сделать это с помощью каких-либо подсказок контроллера?2. Удалось решить эту проблему благодаря @RailsDevNewbie за попытку помочь
Ответ №2:
Удалось решить эту проблему, добавив
Pay::Webhooks.delegator.subscribe "stripe.checkout.session.completed", FulfillCheckout.new Pay::Webhooks.delegator.subscribe "stripe.checkout.session.async_payment_succeeded", FulfillCheckout.new
для оплаты файла инициализатора