Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

311
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda