Buscar..


Observaciones

Esta sección proporciona una descripción general de qué es la franja de pagos y por qué un desarrollador puede querer usarla.

También debe mencionar cualquier tema importante dentro de la franja de pagos, y vincular a los temas relacionados. Dado que la Documentación para pagos en franjas es nueva, es posible que deba crear versiones iniciales de esos temas relacionados.

Instalación o configuración

Instrucciones detalladas para configurar o instalar los pagos de franjas.

Modalidad de pago de banda incrustada

Registre una cuenta de producción / sandbox en https://dashboard.stripe.com/register

Inserte el código de abajo en su página web donde desea tener un botón de pago.

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

Resultado: introduzca la descripción de la imagen aquí

Hola Mundo en Python

Un ejemplo de cómo ejecutar una banda fuera de la caja con wsgi desde un solo archivo.

Al principio, instale la API de la banda python, es decir, con pip:

pip install --user stripe

Cree payment.py que crea un servidor web WSGI en el puerto 8000 de forma inmediata

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()

Tenga en cuenta:

  • El formulario frontend contiene la clave pública.
  • la parte de carga backend contiene la clave secreta .

Ejecuta el script

python payment.py

Navega con tu navegador para

http://localhost:8000/

Después de hacer clic en el botón Pagar e ingresar el número de la tarjeta de crédito (4242424242424242), el formulario se publica con el token. Por lo tanto, el pago podría procesarse y, finalmente, el objeto de charge se imprimirá en el navegador, que contiene:

...
"paid": true, 
"description": "Hello World", 
"status": "succeeded"

Recursos y lectura adicional:

Introducción a la API de Stripe

Un flujo de pago típico con Stripe se puede dividir en dos pasos:

  1. Del lado del cliente, en su código de frontend (HTML + Javascript), recopila la información de pago del cliente mediante el formulario de Checkout creado previamente de Stripe o los campos de formulario de elementos . Esto devolverá un token que luego enviará a su servidor.

  2. En el lado del servidor, en su código de fondo (en PHP, Python, Ruby o el lenguaje de programación del lado del servidor que prefiera), utiliza el token en una solicitud de creación de cargo para cargar la tarjeta.

El punto de este flujo de 2 pasos es que su servidor solo funciona con tokens de tarjeta y nunca con información en bruto de la tarjeta. Esto significa que nunca tendrá acceso a los números de tarjeta, lo que facilita en gran medida la carga del cumplimiento de PCI .

La documentación de Stripe es bastante extensa e incluye muchos ejemplos y tutoriales. ¡Asegúrate de revisarla!



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow