Botones encriptados de PayPal con PHP

Agregar a favoritos

9 Comentarios

Posteado hace 603 días en:

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.