es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener los detalles de un proceso de pago express – PayPal / Postman

Estoy intentando obtener los detalles de pago después de probar una compra exprés.

Cuando voy a
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-0CS36485JR5738828
Se muestra el proceso de pago y hago clic en confirmar.
Después de eso, soy redirigido a http://return.url/?paymentId=PAYID-MHKJM6A3W026542BR076654N&token=EC-0CS36485JR5738828&PayerID=HUGNJ49ZGF8CU.

Aquí tengo el paymentID, pero no puedo encontrar un punto final para ver los detalles de ese pago.

También tengo un Webhook con el evento Checkout checkout buyer-approved, si simulo un evento, el Webhook responde y envía los datos a mi backend, pero no lo hace cuando hago una compra exprés.

Ahora estoy probando casi todo con Servistate (similar a Postman), pero la idea es hacer una compra exprés y confirmar ese pago en el backend.

Nota: En mi backend, estoy usando el paquete paypal-rest-sdk para generar el pago y con eso, la URL de compra.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para obtener los detalles de un pago después de probar un checkout express, puedes utilizar el endpoint GET /v2/payments/payment/<payment-id> de la API de PayPal REST.

    En tu caso, el payment-id es PAYID-MHKJM6A3W026542BR076654N, que obtuviste después de confirmar el checkout express.

    Usando este endpoint, puedes pasar el payment-id en la URL y el SDK de PayPal REST en Node.js debería ser capaz de obtener los detalles del pago para ti.

    const paypal = require('paypal-rest-sdk');
    
    paypal.configure({
      mode: 'sandbox',
      client_id: 'TU_CLIENT_ID_DE_LA_APP_DE_SANDBOX',
      client_secret: 'TU_SECRET_DE_LA_APP_DE_SANDBOX'
    });
    
    const paymentId = 'PAYID-MHKJM6A3W026542BR076654N';
    
    paypal.payment.get(paymentId, (error, payment) => {
      if (error) {
        console.error(error);
      } else {
        // El objeto payment contiene los detalles del pago
        console.log(payment);
      }
    });
    

    Esto debería obtener los detalles del pago y permitirte confirmar el pago en tu backend. Si tu webhook no se está activando, es posible que necesites verificar que esté registrado y configurado correctamente para escuchar el evento Checkout checkout buyer-approved.

Comments are closed.