Como tuto adicional, podrías utilizar el nuevo metodo por promesas ajax de paypal:
Paso 1.- Ingresas a la siguiente URL con tu cuenta sandbox o la creas alli:
https://developer.paypal.com
Una vez ingreses veras una pantalla como esta:
Alli veras opciones como
Dashborad > My Apps Credentials
Dashborad > My Acoount
Sandbox > Accounts
Sandbox > Notifications
etc..
En esa pantalla verás un boton casi al final que dice
Create App, este será al igual que en facebook la que se encargara de gestionar las peticiones de api desde tu web.
Una vez creada la app, te proporsionara los codigos de api y secret necesarios para tus peticiones desde la web.
Paso 2.- En tuu web en el header de la pagina que se encargara de gestionar los pagos llamas al archivo de enlace de paypal:
Luego indicas donde se va a mostrar el boton de pago de PayPal:
posteriormente antes del fin del body, colocas el codigo que se encargara de todo:
Código Javascript
:
Ver originalvar state = 'sandbox';//production-sandbox (Aqui indicas si el codigo esta en modo sandbox o produccion)
paypal.Button.render({
env: state,
style: {
size: 'medium',//Tamaño del boton
color: 'blue',//Color del boton
shape: 'pill',//Tipo de Boton
fundingicons: false,
branding: true // Impresion del boton en el html
},
client: {
sandbox: 'CODIGO API PARA SANDBOX',
production: 'CODIGO API PARA PRODUCCION'
},
commit: true,//Mostramos el boton en el html
payment: function(data, actions) {
return actions.payment.create({
payment: {
transactions: [
{
amount: { total: MONTO A COBRAR, currency: 'USD' },
description:'Descripcion Basica del Producto',
custom:'INFORMACION ADICIONAL DE LA COMPRA'
}
]
}
});
},
onAuthorize: function(data, actions) {
return actions.payment.execute().then(function(payment) {
console.log(payment);
});
},
onCancel: function(data, actions) {
console.log(data);
}
}, '#paypal-buttonA');
Esto te retornara un objeto con la informacion de la transacción:
Donde podras ver:
cart: el codigo del carro de venta en paypal
crete_time: fecha de la transaccion
id: ID/Referencia de la transaccion
payer > payer_info > country_code: Codigo de pais del comprador
payer > payer_info > email: Email del Comprador
payer > payer_info > first_name: Nombre del Comprador
payer > payer_info > last_name: Apellido del Comprador
payer > payer_info > payer_id: ID del comprador en PayPal
payer > payer_info > Shipping_addres: DIreccion de envio si es especificada durante la compra
payer > payer_info > payment_method: Metodo de pago del cliente PayPal, TDC, etc
payer > payer_info > status: Estado de la cuenta del cliente
state: Estado del Pago
transaction > 0 > ammount > currency: Moneda de pago del cliente
transaction > 0 > ammount > total: Total pagado por el cliente
transaction > 0 > ammount > custom: La informacion adicional del pago pasada desde el script
ya con eso puedes gestionar los pagos sin que el cliente salga de tu sitio web, mejorando la experiencia de este.
Hay otras opciones y configuraciones que podrás ver en el sitio web de PayPal.
Saludos