stripe-payments Tutorial
Comenzando con los pagos de banda
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>
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:
- Publicación de WSGI: http://wsgi.tutorial.codepoint.net/parsing-the-request-post
- Formulario de frontend: https://stripe.com/docs/checkout/tutorial
- Cargo de backend: https://stripe.com/docs/charges
Introducción a la API de Stripe
Un flujo de pago típico con Stripe se puede dividir en dos pasos:
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.
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!
