Botones encriptados de PayPal con PHP
Estos días he estado ayudando aun amigo para hacer pagos con PayPal, gracias a este tutorial de Rails hemos podido crear una versión en PHP.
Para generar botones encriptados lo primero que tienes que hacer es crear unos certificados, una vez creados tendrás los datos necesarios para cumplimentar las opciones de la clase.
$config = array(
'cert_id' => 'xxx',
'business' => 'seller_xx@xxx.es',
'openssl' => '/usr/bin/openssl',
'my_cert' => 'certificates/my-pubcert.pem',
'my_key' => 'certificates/my-prvkey.pem',
'paypal_cert' => 'certificates/paypal_cert.pem'
);
//iniciamos la clase
$paypal = new PayPal($config);
Luego hay que pasarles las variables necesarias para encriptar el botón, en la documentación de PayPal encuentras todas las variables.
$form = array(
'cmd' => '_xclick',
'item_name' => 't-shirt 13',
'item_number' => '12',
'amount' => '4500.00'
);
$encrypted = $paypal->encrypt($form);
Una vez encriptado solo tienes que rellenar los datos del formulario, el action y el campo hidden.
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick"/>
<input type="hidden" name="encrypted" value="<?PHP echo $encrypted; ?>"/>
<input type="submit" value="Buy"/>
</form>
Nos queda la parte del IPN (Instant Payment Notification) para saber si la transacción se ha ejecutado con éxito. Es curioso algunas tiendas envían el botón sin encriptar pero si hacen el IPN.
En la clase incluyo el ejemplo para que lo tengáis todo a mano, recordad que en el tutorial escrito en rails tenéis los pasos previos para crear los certificados.
Descargar class.paypal.php.
Ver post
Comentar
luman#1 hace 39 días
Recomendación para desarrolladores, daros de alta en Developer Paypal para crear cuentas de prueba tanto de vendedores como de compradores y poder usar el entorno de pruebas Sandbox.
No tiene mucha gracias hacer pruebas con dinero real aunque sea 0,01€ como he visto en algunos tutos...
luman#2 hace 39 días
Ais que no me acordaba que aquí no rula el HTML sino el invento del Markdown...
Developer Paypal Sandbox Paypal
Icebeat#3 hace 36 días
@luman ya tenemos el IPN integrado oeoeoe! a ver si lo publico ;P