В этой короткой серии мы собираемся посмотреть, как создать заряд на полоску в ряде своих официально поддерживаемых языков!
Сегодня мы собираемся посмотреть, как это сделать с Python и Flask.
Ожидания у вас есть как Python 3, так и PIP3 Установлено и у вас Клавиши в полоску API Настройка и готовы к работе.
Ниже приходит следующее из моего Документация сайта Отказ
Начиная
mkdir python-flask-stripe && cd python-flask-stripe # pip or pip3 depending on env pip3 install Flask pip3 install stripe pip3 install -U python-dotenv touch .env server.py
Настройка .env.
Получите ключи от полосы и замените следующее в файл:
SK_TEST_KEY=sk... # replace sk...
Писать сервер.py.
Настройте файл, чтобы выглядеть следующее:
from flask import Flask
from flask import request
from dotenv import load_dotenv
import stripe
import os
# Load local .env file and assign key
load_dotenv()
stripe.api_key = os.environ.get("SK_TEST_KEY")
app = Flask(__name__)
@app.route("/api/charge", methods = ['POST'])
def charge():
try:
content = request.get_json()
# Print what JSON comes in for the sake of checking
print(content)
resp = stripe.Charge.create(
amount=content['amount'],
currency="aud",
source="tok_visa",
receipt_email=content['receiptEmail'],
)
print("Success: %r" % (resp))
return "Successfully charged", 201
except Exception as e:
print(e)
return "Charge failed", 500
if __name__ == "__main__":
app.run()
Над:
- Выбирает и устанавливает ОС ENV из файла .env.
- Устанавливает клавишу API в полоску.
- Устанавливает маршрут
/api/chargeЭто только беретПостметод и создает заряд на основе суммы, которую мы проходим.
Запуск сервера
python3 server.py запустите сервер на порту 5000.
Бег http post http://localhost: 5000/api/come@example.com (Использование httpie) вернется с успехом. Проверьте мою панель нашивки, и вы увидите заряд для AUD $ 17.00! Ура!
Я решил использовать httpie, потому что я чувствую, что это забавный инструмент, о котором больше нужно знать! Альтернатива, вы могли бы сделать вышеупомянутое использование Curl а также (или что-то, что может сделать пост запрос на этот вопрос).
curl --header "Content-Type: application/json" \
--request POST \
--data '{"amount":1700,"receiptEmail":"hello_flask@example.com"}' \
http://localhost:5000/api/charge
Ресурсы и дальнейшее чтение
- Полоса API
- Флэк Hello World Docs
- Полоса Python Github
- Python попробуй/Кроме
- Коды состояния в колбе
- Разборные данные JSON с/колба
- Python Dotenv Github
Образ кредита: Патель Панкадж
Первоначально опубликовано на моем блог . Следуй за мной в Twitter для более скрытых драгоценных камней @ dennisokeeffe92. .
Оригинал: “https://dev.to/okeeffed/your-first-stripe-charge-with-python-flask-in-5-minutes-487a”