stripe-payments Zelfstudie
Aan de slag met streepbetalingen
Zoeken…
Opmerkingen
Deze sectie biedt een overzicht van wat streepbetalingen zijn en waarom een ontwikkelaar het misschien wil gebruiken.
Het moet ook alle grote onderwerpen binnen streepbetalingen vermelden en een link naar de gerelateerde onderwerpen bevatten. Aangezien de documentatie voor streepbetalingen nieuw is, moet u mogelijk eerste versies van die gerelateerde onderwerpen maken.
Installatie of instellingen
Gedetailleerde instructies voor het instellen of installeren van streepbetalingen.
Embedded Stripe Payment Modal
Registreer een productie- / sandbox-account op https://dashboard.stripe.com/register
Voer de onderstaande code in op uw webpagina waar u een afrekenknop wilt hebben.
<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 wereld in Python
Een voorbeeld van het uitvoeren van stripe uit de doos met wsgi uit een enkel bestand.
Installeer eerst de python stripe API, dwz met pip:
pip install --user stripe
Maak direct payment.py waarmee een WSGI-webserver op poort 8000 wordt aangemaakt
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()
Houd er rekening mee dat:
- het frontend-formulier bevat de openbare sleutel
- het backend charge deel bevat de geheime sleutel .
Voer het script uit
python payment.py
Navigeer met uw browser naar
http://localhost:8000/
Na het klikken op de betaalknop en het invoeren van het creditcardnummer (4242424242424242) wordt het formulier met het token geplaatst. Zodat de betaling kan worden verwerkt en ten slotte de charge object wordt afgedrukt in de browser, die bevat:
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
Bronnen en verder lezen:
- WSGI-bericht: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Frontend-formulier: https://stripe.com/docs/checkout/tutorial
- Backend-kosten: https://stripe.com/docs/charges
Inleiding tot de API van Stripe
Een typische betalingsstroom met Stripe kan in twee stappen worden verdeeld:
Client-side, in uw frontend (HTML + Javascript) -code, verzamelt u de betalingsinformatie van de klant met behulp van het vooraf gebouwde Checkout- formulier of het veld (en) van Elements . Dit retourneert een token dat u vervolgens naar uw server verzendt.
Server-side, in uw backend-code (in PHP, Python, Ruby of welke programmeertaal dan ook op uw server), gebruikt u het token in een verzoek om kosten aan te rekenen om de kaart daadwerkelijk op te laden.
Het punt van deze tweestapsstroom is dat uw server alleen met kaarttokens werkt en nooit met onbewerkte kaartinformatie. Dit betekent dat u nooit toegang hebt tot kaartnummers, wat de last van PCI-compliance aanzienlijk verlicht.
De documentatie van Stripe is vrij uitgebreid en bevat veel voorbeelden en tutorials - zorg ervoor dat je deze bekijkt!
