Usuario:ManuelRomero/PHP/paypall

https://developer.paypal.com/docs/checkout/reference/server-integration/set-up-transaction/#on-the-server
 * Recientemente Paypal ha desarrollado el checkout paymant button
 * Es un botón que permite realizar una venta de forma rápida
 * En este caso se usa un servicio REST para este comentido
 * Registrarnos como developer de paypal

Ahora vmos a crear un api para lo cual necesitamos una serie de datos
 * Nos registramos y accedemos a la web
 * Crear una aplicación REST API desde el panel de control de desarrolladores
 * Una vez ahí vamos a la opción de Dashboard (ubicado en el extremo superior derecho)
 * Credenciales
 * Accedemos a My App & Credentials
 * En esta ubicación vamos a solicitar nuestras credenciales privada y pública para acceder al api rest de paypall
 * Accedemos con el botón de obtener credenciales
 * Seleccionamos nuestra cuenta de sandbox
 * Y con ello seleccionamos crear credenciales
 * Una vez creadas las podemos visualizar en una línea que aparece más abajo
 * Ahora creamos una nueva aplicación


 * Una vez creada, podemos ver las credenciales

Para esta parte de la práctica vamos a incorporar un botón de 'realizar la compra' a través de Paypal Por otro lado necesitarmeos insertar código HTML necesario para ello.

Son muchas las formas de poder utilizar paypal para realizar pagos. Existe una documentación detallada y actualizada donde se describe el código, los nombres de variables que hay que usar para pasar la información entre la tienda y la web de paypal para proceder al pago y ejemplos de uso. Todo ello en la página oficial de paypal

En este caso vamos a dar las pautas básicas para hacer una integración de poder porceder al pago en nuestra tienda usando paypal.


 * Para ello vamos a realizar una serie de sencillos pasos explicandos.

Darse de alta en paypal
Lo primero que tenemos que hacer es dar de alta en la web de paypal.

Paypal tiene dos entornos de uso, uno real y otro para pruebas, totalmente ficticio en cuanto al dinero y tarjetas que en él integres.

Una vez que nos hemos dado de alta, entramos en nuestra cuenta y accederemos a la sección de pruebas.

https://developer.paypal.com/developer/applications/?mark=applications 600px|center
 * Para ello accedemos a la sección de Applications dentro de nuestra cuenta
 * En ella buscamos la sección de sandbox

Accedemos a accounts y vemos que tenemos ya cuentas creadas, pero podemos crear nuevas cuentas https://developer.paypal.com/docs/classic/lifecycle/sb_create-accounts/

Crear el formulario para acceder a la web de paypal
Para acceder al formulario de pago de paypal debemos acceder a la siguiente url https://www.sandbox.paypal.com/cgi-bin/webscr https://www.paypal.com/es/cgi-bin/webscr _Y ahora los datos de los productos y un submit con imagen de paypall
 * La dirección del servidor al que se debe conectar paypal en modo pruebas será
 * La dirección del servidor necesario cuando está en real que es:
 * Nosotros usaremos el primero
 * Los campos facilitados al pago de paypal son los siguientes

cmd
 * Determina la forma de abordar el cobro por parte de paypal;Por ejemplo, un solo artículo con el monto total (_xclick), los diferentes artículos de carro (_cart).

business
 * Correo electrónico en su cuenta PayPal.Buscarlo en Profile ID-Mail de la cuenta de Sandox de paypal
 * [Imagen:IDPaypall.png]

currency_code
 * Tipo de moneda que se va a utilizar para el pago. Ejemplos: "USD", "EUR", "GBP", "CAD", "JPY".

return
 * URL de Internet a donde se redirigirá a su cliente tras finalizar el pago. En general será una url de nuestra tienda

notify_url
 * Esta url es usada únicamente con IPN. URL de Internet donde se realizarán envíos de formularios de IPN: En general sará una url dónde podremos realizar verificaciones de la información que retorno paypal

rm: Modo en el que la aplicacion paypal va a dar variables a nuestra página cuando vengamos del pago por si se quieren recuperar 1=> GET, 2=> POST item_name
 * Nombre del concepto a realizar el cobro. En este caso será la compra total

amount
 * Precio a cobrar en este pago

En el caso de querer pasar la cesta completa y que paypal factura cada producto, hemos de cambiar algún campo del formulario que se envía a paypal, y añadir un campo por cada producto especificando un código, nombre, precio y cantidad del mismo. Por ejemplo en el caso de nuestra tienda
 * Los cambios realizados

1.- El campo cmd pasa a tomar el valor _cart 2.- Apadimos el campo 3.- Por cada producto tendremos lo siguientes campos (La x tomará un valor numérico empezando por 1, hasta el número de ariculos que haya). item_number_x
 * un número de código de cada producto

item_name_x
 * El nombre de cada producto

amount_x
 * El precio de cada producto por unidad

quantity_x
 * La cantidad de unidades de cada producto

Acciones para aceptar el pago
Una vez realizada el cobro, nosotros podremos analizar o procesar cierta información que nos facilita la web de paypal, para llevar control e información del cobro de esa factura
 * El cobro de la factura es una acción que realiza la web de paypal.