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.

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>

Résultat: entrer la description de l'image ici

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:

Introduction à l'API Stripe

Un flux de paiement typique avec Stripe peut être divisé en deux étapes:

  1. 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.

  2. 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!



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow