Sí, el Website Payments Standard es el camino a seguir.
Básicamente, crea un formulario que tiene unos pocos campos ocultos listos para usar (como el importe y lo que no) y luego lo envía. Incluso puede enviar esto con JavaScript, por lo que su cliente tiene derecho a PayPal para completar la transacción.
A modo de ejemplo:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="your_paypal_email_account" />
<input type="hidden" name="undefined_quantity" value="1" />
<input type="hidden" name="item_name" value="Order #1111111 for So-and-So" />
<input type="hidden" name="item_number" value="order_1111111" />
<input type="hidden" name="amount" value="5.00" />
<input type="hidden" name="shipping" value="0.00" />
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="cn" value="Comments" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="lc" value="US" />
<input type="hidden" name="bn" value="PP-BuyNowBF" />
<input type="hidden" name="return" value="http://www.example.com/some-page-to-return-to" />
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_buynow_SM.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!" />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>
Puede encontrar documentación sobre los parámetros adicionales disponibles aquí: https://www.x.com/sites/default/files/pp_websitepaymentsstandard_integrationguide.pdf
pero ya tengo muchos artículos carrito almacenados en las sesiones. ¿Estás diciendo que debo publicar con esas entradas en mi forma? ¿En qué dirección puedo publicar? ¿Qué pasa con más de un producto? – coderama
@RD., Usaría todo el "carro" como el "artículo". PayPal tiene su propia tarjeta de compras con la que puede integrarse, pero ya la tiene, por lo que no es necesario. Solo pretenda que tiene un artículo llamado "Order # 12345" o lo que sea. La parte superior de la etiqueta '
¡Enfermo! ¡Funciona! ¿Sabes cómo configurar esto para que pase a través de sandbox? ¿O acaso no es posible? – coderama