stripe-payments Tutorial
Iniziare con i pagamenti stripe
Ricerca…
Osservazioni
Questa sezione fornisce una panoramica di cosa sono i pagamenti stripe e perché uno sviluppatore potrebbe volerlo utilizzare.
Dovrebbe anche menzionare eventuali soggetti di grandi dimensioni all'interno di pagamenti per strip e collegarsi agli argomenti correlati. Poiché la Documentazione per i pagamenti con striping è nuova, potrebbe essere necessario creare versioni iniziali di tali argomenti correlati.
Installazione o configurazione
Istruzioni dettagliate su come installare o installare i pagamenti a strisce.
Modal pagamento a banda incorporata
Registra un account di produzione / sandbox su https://dashboard.stripe.com/register
Inserisci sotto il codice nella tua pagina web in cui si desidera avere un pulsante checkout.
<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>
Ciao mondo in Python
Un esempio di come eseguire stripe out of the box con wsgi da un singolo file.
Inizialmente, installa l'API python stripe, ovvero con pip:
pip install --user stripe
Creare payment.py che crea un server Web WSGI alla porta 8000 immediatamente
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()
Notare che:
- il modulo di frontend contiene la chiave pubblica
- la parte di carica back-end contiene la chiave segreta .
Esegui lo script
python payment.py
Navigare con il browser per
http://localhost:8000/
Dopo aver fatto clic sul pulsante Paga e aver inserito il numero della carta di credito (4242424242424242), il modulo viene registrato con il token. Quindi il pagamento potrebbe essere elaborato e infine l'oggetto charge verrà stampato nel browser, che contiene:
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
Risorse e ulteriore lettura:
- Post WSGI: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Modulo di frontend: https://stripe.com/docs/checkout/tutorial
- Carica di back-end: https://stripe.com/docs/charges
Introduzione all'API di Stripe
Un flusso di pagamento tipico con Stripe può essere suddiviso in due passaggi:
Lato client, nel tuo codice frontend (HTML + Javascript), raccogli le informazioni di pagamento del cliente utilizzando il modulo Checkout precompilato di Stripe oi campi del modulo Elementi . Questo restituirà un token che tu invierai al tuo server.
Lato server, nel tuo codice backend (in PHP, Python, Ruby o qualsiasi altro linguaggio di programmazione lato server che preferisci), utilizzi il token in una richiesta di creazione di addebito per addebitare effettivamente la carta.
Il punto di questo flusso in due fasi è che il tuo server funziona solo con token di carte e mai con le informazioni di una carta grezza. Ciò significa che non hai mai accesso ai numeri delle carte, il che semplifica enormemente l'onere della conformità PCI .
La documentazione di Stripe è piuttosto ampia e include molti esempi e tutorial: assicurati di verificarlo!
