Django - Ограничить доступ к Stripe SuccessUrl - PullRequest
0 голосов
/ 29 мая 2020

Я только что интегрировал Stripe Checkout в свое приложение Django. Однако из их кода:

 session = stripe.checkout.Session.create(
        customer_email=customer.email,
        payment_method_types=['card'],
        line_items=line_items,

        mode='payment',
        success_url='http://127.0.0.1:8000/SUCCESS/?session_id={CHECKOUT_SESSION_ID}',
        cancel_url='http://127.0.0.1:8000/cart'
        )

Он перенаправляет на Success_url. Я хотел бы отобразить информацию об их заказе и отправить электронное письмо со страницы успеха, но в настоящее время каждый может посетить (вызовет случайные электронные письма и т. Д. c). Есть ли способ ограничить это для человека, который только что выписался? Спасибо!

1 Ответ

1 голос
/ 29 мая 2020

На самом деле страница успеха должна быть просто страницей, чтобы ваши пользователи знали, что их платеж прошел. Я бы лично не рекомендовал запускать какое-либо приложение c logi c, когда ваши пользователи заходят на него. Как вы указали, это может привести к несчастным случаям, когда пользователи случайно наткнутся на эту страницу и будут запускать электронные письма. Это также дает возможность злоумышленникам использовать ваше приложение.

Вместо этого я бы создал конечную точку webhook и прослушивал бы событие checkout.session.completed , и запускайте свои электронные письма оттуда. Создание конечной точки веб-перехватчика должно быть не сложнее, чем создание любой другой конечной точки на вашем сервере, с небольшими дополнительными логами c до проверки входящих запросов .

Другой вариант - использовать такой инструмент, как Zapier, чтобы прослушивать эти события из Stripe и запускать из них различные потоки: https://stripe.com/partners/zapier

...