Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

316
Vistas
¿Cómo cancelar un pedido de Paypal después de la aprobación del usuario? (API v2)

De hecho, estoy tratando de crear una aplicación que use Papal API v2.

Creo con éxito el pedido y obtengo dinero en sandbox. Utilizo el método onApprove de JS Paypal para llamar a order.capture para obtener el pedido y crear la suscripción en mis sistemas. Pero si hay algún problema en mi código del lado del servidor, ¿cómo puedo bloquear el pedido en la API de PayPal para dejar de recibir dinero del usuario si algo sale mal?

 paypal.Buttons({ locale: 'it_IT', style: { shape: 'pill', color: 'blue', layout: 'vertical', label: 'buynow', fundingicons: 'true', }, createOrder: function (data, actions) { return actions.order.create(my_PlanOrderDef); }, onApprove: function (data, actions) { console.log(data) console.log(actions) return actions.order.capture().then(function (details) { if (!CloseProcess(details)) { console.log("FAIL! HERE SOMETHING GOING BAD ON MY LOGIC, AND I NEED TO CANCEL THE ORDER PAYMENT"); return false; } }); }, onError: function (err) { console.log(err); } }).render('#btnPaypalContainer');

El método CloseProcess simplemente llama a mi lógica del servidor para crear una suscripción en mi sistema. Probablemente extraño algo en la lógica de paypal v2, así que disculpe, ¿alguna idea para realizar esta tarea?

Gracias

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Cuando se crea un pedido, es válido durante 72 horas.

Cuando se aprueba un pedido, es válido durante 3 horas.

No existe ningún método para cancelar un pedido.

Si no desea utilizar una orden, descarte su id y no la capture.


Para cambiar a una integración del lado del servidor para la creación y captura de pedidos, siga la guía Configurar pagos estándar y realice 2 rutas en su servidor, una para 'Crear pedido' y otra para 'Capturar pedido', documentadas aquí . Ambas rutas deben devolver solo datos JSON (sin HTML ni texto). Dentro de la segunda ruta, cuando la API de captura es exitosa, debe almacenar los detalles de pago resultantes en su base de datos (particularmente purchase_units[0].payments.captures[0].id , que es el ID de transacción de PayPal) y realizar cualquier lógica comercial necesaria (como el envío de correos electrónicos de confirmación o la reserva de productos) inmediatamente antes de reenviar su JSON de devolución a la persona que llama en la interfaz.

Empareje esas 2 rutas con el flujo de aprobación de la interfaz: https://developer.paypal.com/demo/checkout/#/pattern/server

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda