Безопасный способ приема платежей на Django Heroku?

Я пытаюсь принимать платежи на Django с помощью Heroku.

У меня была куча проблем с использованием Stripe, потому что я мало знаю о стороне клиента/сервера, и каждый раз, когда я получаю что-то, что работает, мне приходится раскрывать свой закрытый ключ. Мне кажется, что для этого нет никаких ресурсов. Есть ли у кого-нибудь что-нибудь, что может помочь?

Обычно любые секреты, которые вы не хотите раскрывать пользователям (например, секретные ключи API), могут храниться на бэкенде вашего сервера Django и не раскрываться пользователям вашего приложения.

В случае со Stripe важно понимать, что существует два вида ключей API: публикуемые API ключи и секретные API ключи.

Согласно документации по stripe:

Key type example When to use
Publishable pk_test_TYooMQauvdEDq54NiTphI7jx On the client-side. Can be publicly-accessible in your web or mobile app’s client-side code (such as checkout.js) to tokenize payment information such as with Stripe Elements. By default, Stripe Checkout tokenizes payment information.
Secret sk_test_4eC39HqLyjWDarjtT1zdp7dc On the server-side. Must be secret and stored securely in your web or mobile app’s server-side code (such as in an environment variable or credential management system) to call Stripe APIs.

Итак, вы будете хранить свой секретный ключ только в вашем приложении Django. Ваш фронтенд будет либо обращаться только к бэкенду, либо использовать только публикуемый ключ.

Существует несколько продуктов, которые предлагает stripe для интеграции платежей в ваше приложение. Вы можете посмотреть в Stripe Checkout quickstart примеры кода о том, как правильно использовать эти ключи в вашем приложении.

Вернуться на верх