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>

Resultat: ange bildbeskrivning här

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:

Introduktion till Stripes API

Ett typiskt betalningsflöde med Stripe kan delas upp i två steg:

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

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



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow