stripe-payments Tutorial
Erste Schritte mit Stripe-Payments
Suche…
Bemerkungen
In diesem Abschnitt erhalten Sie einen Überblick darüber, was Stripe-Zahlungen ist und warum ein Entwickler sie verwenden möchte.
Es sollte auch alle großen Themen innerhalb von Überweisungen erwähnen und auf die verwandten Themen verweisen. Da die Dokumentation für Streifenzahlungen neu ist, müssen Sie möglicherweise erste Versionen dieser verwandten Themen erstellen.
Installation oder Setup
Detaillierte Anweisungen zum Einrichten oder Installieren von Stripes-Zahlungen.
Eingebettetes Stripe Payment Modal
Registrieren Sie ein Produktions- / Sandbox-Konto unter https://dashboard.stripe.com/register
Fügen Sie unten auf Ihrer Webseite den Code ein, an dem Sie einen Checkout-Button haben möchten.
<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>
Hallo Welt in Python
Ein Beispiel, wie Sie "stripe out of the box" mit wsgi aus einer einzelnen Datei ausführen.
Installieren Sie zunächst die Python-Stripe-API, dh mit pip:
pip install --user stripe
Erstellen Sie payment.py , um einen WSGI-Webserver an Port 8000 zu erstellen
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()
Bitte beachten Sie:
- Das Frontend-Formular enthält den öffentlichen Schlüssel
- Der Backend-Gebührenteil enthält den geheimen Schlüssel .
Führen Sie das Skript aus
python payment.py
Navigieren Sie mit Ihrem Browser zu
http://localhost:8000/
Nach Anklicken des Pay-Buttons und Eingabe der Kreditkartennummer (4242424242424242) wird das Formular mit dem Token gebucht. So konnte die Zahlung verarbeitet werden und schließlich wird das charge in den Browser gedruckt, der Folgendes enthält:
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
Ressourcen und weiterführende Literatur:
- WSGI-Beitrag: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Frontend-Formular: https://stripe.com/docs/checkout/tutorial
- Backend-Gebühr: https://stripe.com/docs/charges
Einführung in die API von Stripe
Ein typischer Zahlungsfluss mit Stripe kann in zwei Schritte unterteilt werden:
Client-seitig sammeln Sie in Ihrem Frontend-Code (HTML + Javascript) die Zahlungsinformationen des Kunden mithilfe des vorgefertigten Checkout- Formulars von Stripe oder der Formularfelder von Elements . Dadurch wird ein Token zurückgegeben, das Sie dann an Ihren Server senden.
Serverseitig, in Ihrem Backend-Code (in PHP, Python, Ruby oder in welcher anderen serverseitigen Programmiersprache), verwenden Sie das Token in einer Kostenerstellungsanforderung , um die Karte tatsächlich zu belasten.
Das Ziel dieses zweistufigen Ablaufs ist, dass Ihr Server nur mit Karten-Token und niemals mit unformatierten Karteninformationen arbeitet. Dies bedeutet, dass Sie nie auf Kartennummern zugreifen können, was die PCI-Konformität erheblich verringert.
Die Dokumentation von Stripe ist recht umfangreich und enthält viele Beispiele und Tutorials. Schauen Sie sich das an!
