Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/10/2017, 20:12
Avatar de xfxstudios
xfxstudios
 
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: PayPal no retorna algunas variables $_POST

En este momento no recuerdo que opcion tome yo, pero te muestro el siguiente codigo:

primeramente cargo la libreria de payPal:
Código HTML:
Ver original
  1. <script src="https://www.paypalobjects.com/api/checkout.js"></script>

Luego indico el DIV donde se va a imprimir el boton de pago:

Código HTML:
Ver original
  1. <div id="paypal-buttonA"></div>

posterior mente preparo el siguiente código:

Código Javascript:
Ver original
  1. paypal.Button.render({
  2.         //env: 'production', // Or 'sandbox'
  3.         env: 'sandbox',//aqui indico si es sandbox o produccion
  4.         style: {
  5.             size: 'medium',
  6.             color: 'blue',
  7.             shape: 'pill',
  8.             /*label: 'checkout',*///Opcional, lo que quiere que diga la etiqueta del boton
  9.             fundingicons: false, // optional
  10.             branding: true // optional
  11.         },
  12.         client: {
  13.             sandbox:    '',//Aqui clave de api sandbox
  14.             production: ''//aqui clave de api para produccion
  15.         },
  16.         commit: true, // Esto en tru muestra el botion en el div indicado
  17.         payment: function(data, actions) {
  18.             return actions.payment.create({
  19.                 payment: {
  20.                     transactions: [
  21.                         {
  22.                             amount: { total: AQUI MONTO, currency: 'USD' },
  23.                             description:AQUI DESCRIPCION DEL PRODUCTO,
  24.                             custom:AQUI CODIGO DEL PRODUCTO
  25.                         }
  26.                     ]
  27.                 }
  28.             });
  29.         },
  30.         onAuthorize: function(data, actions) {
  31.             return actions.payment.execute().then(function(payment) {
  32.                 console.log(payment);//Aqui respuesta de PAYPAL un Json con la informacion del pago realizado
  33.             });
  34.         },
  35.         onCancel: function(data, actions) {
  36.             // Show a cancel page or return to cart
  37.             console.log(data);
  38.         }
  39.     }, '#paypal-buttonA');//Aqui indico donde imprime el boton

es la informacion que utilice para implementar los pagos paypal en mi sitio web, puedes repetir este codigo tantas veces como botones requieras en una misma pagina, la ventaja, el cliente nunca sale de tu sitio para realizar el pago y es más fácil manejar la información del pago, igual puedes combinar con una peticion ajax a otra pagina para validar por IPN el codigo de transacción.

Cuando ingresas a tu cuenta de PayPal developers, en el dashboard, ve a l a seccion REST API apps que esta más abajo, alli crea la app que va a gestionar las peticiones rest, esta al crearla te va a dar el Client ID necesario para el codigo anterior que te pase para sus pruebas , pero una vez creada esta app, veras un boton doble arriba de esta que dice Sandob-Live.

Al darle clic veras tu clientid para producción.

Cualquier cosa en la que te pueda ayudar, vere, Saludos.
__________________
[email protected]
HITCEL