stripe-payments Handledning
Komma igång med stripbetalningar
Sök…
Anmärkningar
Det här avsnittet ger en översikt över vad betalningsbetalningar är och varför en utvecklare kanske vill använda den.
Det bör också nämna alla stora ämnen inom remsebetalningar och koppla till relaterade ämnen. Eftersom dokumentationen för stripbetalningar är ny kan du behöva skapa initialversioner av relaterade ämnen.
Installation eller installation
Detaljerade anvisningar om hur du får inställningar eller installation av bandbetalningar.
Inbäddad randbetalningsmodal
Registrera ett produktions- / sandlådekonto på https://dashboard.stripe.com/register
Sätt in koden nedan på din webbsida där du vill ha en kassaknapp.
<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>
Hej värld i Python
Ett exempel på hur du kör band ut ur rutan med wsgi från en enda fil.
Först installerar du Python Stripe API, dvs. med pip:
pip install --user stripe
Skapa payment.py som skapar en WSGI-webbserver på port 8000 ur rutan
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()
Vänligen notera:
- frontend-formuläret innehåller den offentliga nyckeln
- backend-laddningsdelen innehåller den hemliga nyckeln .
Kör skriptet
python payment.py
Navigera med din webbläsare till
http://localhost:8000/
Efter att du har klickat på betalknappen och angett kreditkortsnumret (4242424242424242) bokas formuläret med token. Så betalningen kan behandlas och slutligen charge skrivs in i webbläsaren, som innehåller:
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
Resurser och vidare läsning:
- WSGI-inlägg: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Formulär för frontend: https://stripe.com/docs/checkout/tutorial
- Backend-avgift: https://stripe.com/docs/charges
Introduktion till Stripes API
Ett typiskt betalningsflöde med Stripe kan delas upp i två steg:
Klientsidan i din frontend (HTML + JavaScript) kod, samlar du kundens betalningsinformation med hjälp av Stripe s fördefinierade kassan form eller Elements formulärfält (s). Detta returnerar ett symbol som du sedan skickar till din server.
På serversidan, i din backend-kod (i PHP, Python, Ruby, eller vilket systemsidesidan du än föredrar) använder du token i en laddningsbegäran för att faktiskt ladda kortet.
Poängen med detta tvåstegsflöde är att din server bara fungerar med korttokens och aldrig med råkortsinformation. Detta innebär att du aldrig har tillgång till kortnummer, vilket avsevärt underlättar bördan av PCI-efterlevnad .
Stripes dokumentation är ganska omfattande och innehåller många exempel och självstudier - se till att kolla in det!
