No olvides que en la informática cualquier problema suele tener más de una resoluciones, no obstante aquí mostramos lo más óptimo y eficiente.
Solución:
¡Entiendo!
Para validar tu publicable keys necesitas pedirle a stripe un nuevo token usando rizo. Si lo dado key no es válido, la respuesta contendrá un mensaje de error que comienza con “Clave de API proporcionada no válida”.
Aquí hay un ejemplo escrito en PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.stripe.com/v1/tokens");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "card[number]=4242424242424242&card[exp_month]=12&card[exp_year]=2017&card[cvc]=123");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_USERPWD, $publishableKey . ":");
$response = json_decode(curl_exec($ch),true);
if( curl_errno($ch) )
echo 'Error:' . curl_error($ch);
curl_close ($ch);
if(substr($response["error"]["message"],0, 24 ) == "Invalid API Key provided")
echo "Invalid API Key provided";
La misma idea para validar tu secreto. keys.
Validando el secreto key es fácil, simplemente llame a la API de Stripe con cualquier comando en el lado del servidor.
Pero para el público key… Encontré una manera con Stripe.js:
let stripe = Stripe( );
setTimeout( ()=>
stripe.createToken('pii', personal_id_number: 'test')
.then( result =>
if( result.token )
// public key is valid :o)
else
// nope !
)
, 300 )
Tenga en cuenta el tiempo de espera antes de llamar a stripe.createToken(). Si no lo hace, la promesa devuelta por createToken() nunca volverá.
ACTUALIZACIÓN: Acabo de recibir una confirmación de Stripe; este es un método válido y aceptable.
Reseñas y puntuaciones
Recuerda que puedes mostrar este tutorial si si solucionó tu problema.