Este dilema se puede resolver de diversas maneras, pero nosotros te compartimos la resolución más completa en nuestra opinión.
Solución:
He creado https://jsfiddle.net/s8foxw9r/2/ que confirma el stripeTokenHandler
está funcionando (y el token se está generando correctamente).
Si abre la URL jsfiddle, luego abra las herramientas de desarrollo en su navegador y mire la salida de la consola, verá un volcado de la token
objeto que se pasa a stripeTokenHandler()
.
cuando golpeas Submit Payment
la página POST
s a https://postman-echo.com/post que descargará su solicitud. Notarás que la solicitud se parece a esto:
"args": ,
"data": "",
"files": ,
"form":
"stripeToken": "tok_1F07d72eZvKYlo2CqBprboVK"
,
"headers":
"x-forwarded-proto": "https",
"host": "postman-echo.com",
"content-length": "40",
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"cache-control": "no-cache",
"content-type": "application/x-www-form-urlencoded",
"cookie": "sails.sid=s%3AHyTHsNyIhRvFINR3EGiXw1Kf12oufx84.jd6rEiCaqHsrM8eOGN1x%2ByzU%2BMatjM4l5S1Ekxhxdyo",
"origin": "https://fiddle.jshell.net",
"pragma": "no-cache",
"referer": "https://fiddle.jshell.net/",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36",
"x-forwarded-port": "443"
,
"json":
"stripeToken": "tok_1F07d72eZvKYlo2CqBprboVK"
,
"url": "https://postman-echo.com/post"
Las partes importantes son headers.content-type
y json
attributes. Esto significa la librería stripe.js POST
envió el formulario a través del application/x-www-form-urlencoded
tipo MIME, y que el stripeToken
estaba incluido.
Esto significa que su problema es uno o ambos de los siguientes:
- Si no ve un token generado en el navegador, su banda privada key es probablemente incorrecto. Comenzaría usando su prueba de franja privada keyparece que
pk_test_xxx
. - Su servidor Laravel no está configurado correctamente. Muchos problemas potenciales, necesitaría más información y, lamentablemente, nunca he usado Laravel.
Por último, encontré un paquete de integración de Stripe para Laravel, podría valer la pena probarlo: https://github.com/cartalyst/stripe-laravel
Si sostienes alguna indecisión o disposición de prosperar nuestro ensayo eres capaz de escribir una referencia y con gusto lo leeremos.