stripe-payments учебник
Начало работы с полосовыми платежами
Поиск…
замечания
В этом разделе представлен обзор того, какие платежи за полосу, и почему разработчик может захотеть ее использовать.
Следует также упомянуть любые крупные субъекты в рамках полосовых платежей и ссылки на связанные темы. Поскольку документация для платных платежей является новой, вам может потребоваться создать начальные версии этих связанных тем.
Установка или настройка
Подробные инструкции по настройке или установке платных платежей.
Платформа встраиваемых полос
Зарегистрируйте учетную запись производства / песочницы на странице https://dashboard.stripe.com/register
Вставьте ниже код на свою веб-страницу, где вы хотите иметь кнопку выписки.
<form action="/charge" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
data-amount="2000"
data-name="Stripe.com"
data-description="2 widgets"
data-image="/img/documentation/checkout/marketplace.png"
data-locale="auto">
</script>
</form>
Hello World в Python
Пример того, как запустить строку из окна с помощью wsgi из одного файла.
Сначала, пожалуйста, установите API-интерфейс python, то есть с помощью pip:
pip install --user stripe
Создайте payment.py который создает веб-сервер WSGI на порту 8000 из коробки
html = """
<html>
<body>
<p>%(output)s</p>
</body>
</html>
"""
form = """
<form action="" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
data-amount="999"
data-name="Stripe.com"
data-description="Hello World"
data-locale="auto">
</script>
</form>
"""
def application(environ, start_response):
try:
request_body_size = int(environ.get('CONTENT_LENGTH', 0))
except (ValueError):
request_body_size = 0
request_body = environ['wsgi.input'].read(request_body_size)
post = parse_qs(request_body)
out = ''
if post:
print post
token = post.get('stripeToken', [''])[0]
token = escape(token)
if token:
import stripe
stripe.api_key = "sk_test_BQokikJOvBiI2HlWgH4olfQ2"
try:
charge = stripe.Charge.create(
amount="999",
currency="usd",
source=token,
description="Hello World",
)
out = '<pre>charge: %s</pre>' % (charge,)
except Exception as e:
print 'Exception %s' % (str(e),)
else:
out = 'missing in post: token'
else:
out = form
response_body = html % {
'output': out,
}
status = '200 OK'
response_headers = [('content-type', 'text/html;charset=utf-8')]
start_response(status, response_headers)
return [response_body]
from wsgiref.simple_server import make_server
from cgi import parse_qs, escape
httpd = make_server('', 8000, application)
httpd.serve_forever()
Пожалуйста, обратите внимание:
- форма внешнего интерфейса содержит открытый ключ
- часть бэкэнд-заряда содержит секретный ключ .
Запустить скрипт
python payment.py
Перейдите со своим браузером в
http://localhost:8000/
После нажатия кнопки «Оплатить» и ввода номера кредитной карты (4242424242424242) форма отправляется с помощью токена. Таким образом, платеж может быть обработан, и, наконец, объект charge будет напечатан в браузере, который содержит:
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
Ресурсы и дальнейшее чтение:
- Сообщение WSGI: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Форма внешнего вида: https://stripe.com/docs/checkout/tutorial
- Базовый платеж: https://stripe.com/docs/charges
Введение в API Stripe
Типичный поток платежей с помощью Stripe можно разделить на два этапа:
На стороне клиента, в вашем коде интерфейса (HTML + Javascript), вы собираете информацию о платежах клиента, используя предварительно подготовленную форму заказа Stripe или формуляр ( Elements ). Это вернет маркер, который вы затем отправите на свой сервер.
На стороне сервера, в вашем базовом коде (в PHP, Python, Ruby или любом другом языке на стороне сервера, который вы предпочитаете), вы используете токен в запросе на создание платы для фактической зарядки карты.
Точка этого двухступенчатого потока заключается в том, что ваш сервер работает только с карточными жетонами и никогда не имеет сырой информации о карте. Это означает, что у вас никогда не было доступа к номерам карт, что значительно облегчает бремя соблюдения PCI .
Документация Stripe довольно обширна и включает в себя множество примеров и руководств - обязательно проверьте это!
