stripe-payments Tutoriel
Démarrer avec les paiements par bande
Recherche…
Remarques
Cette section fournit une vue d'ensemble des paiements par bande et des raisons pour lesquelles un développeur peut vouloir l'utiliser.
Il devrait également mentionner tous les sujets importants dans les paiements par bandes et établir un lien avec les sujets connexes. La documentation des paiements par bandes étant nouvelle, vous devrez peut-être créer des versions initiales de ces rubriques connexes.
Installation ou configuration
Des instructions détaillées sur la configuration ou l’installation des paiements groupés.
Modal intégré de paiement par bande
Enregistrez un compte de production / sandbox sur https://dashboard.stripe.com/register
Insérez le code ci-dessous dans votre page Web où vous souhaitez avoir un bouton de paiement.
<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>
Bonjour tout le monde en Python
Un exemple sur la façon d'exécuter une bande avec wsgi à partir d'un seul fichier.
D'abord, installez l'API Python Stripe, c'est-à-dire avec pip:
pip install --user stripe
Créer payment.py qui crée un serveur Web WSGI au port 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()
Notez s'il vous plaît:
- le formulaire frontal contient la clé publique
- la partie de charge dorsale contient la clé secrète .
Exécuter le script
python payment.py
Naviguez avec votre navigateur pour
http://localhost:8000/
Après avoir cliqué sur le bouton de paiement et saisi le numéro de carte de crédit (4242424242424242), le formulaire est enregistré avec le jeton. Ainsi , le paiement pourrait être traité et , enfin , l' charge objet sera imprimé dans le navigateur, qui contient:
...
"paid": true,
"description": "Hello World",
"status": "succeeded"
Ressources et lectures complémentaires:
- Message WSGI: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Formulaire frontal: https://stripe.com/docs/checkout/tutorial
- Frais de backend: https://stripe.com/docs/charges
Introduction à l'API Stripe
Un flux de paiement typique avec Stripe peut être divisé en deux étapes:
Côté client, dans votre code frontal (HTML + Javascript), vous collectez les informations de paiement du client à l’aide du formulaire Checkout prédéfini de Stripe ou des champs du formulaire Elements . Cela renverra un jeton que vous enverrez ensuite à votre serveur.
Côté serveur, dans votre code backend (en PHP, en Python, en Ruby ou dans le langage de programmation côté serveur que vous préférez), vous utilisez le jeton dans une demande de création de charge pour charger réellement la carte.
Le but de ce flux en deux étapes est que votre serveur ne fonctionne qu'avec des jetons de carte et jamais avec des informations de carte brutes. Cela signifie que vous n'avez jamais accès aux numéros de carte, ce qui facilite considérablement la mise en conformité PCI .
La documentation de Stripe est très complète et comprend de nombreux exemples et tutoriels - assurez-vous de la consulter!
