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

246
Vistas
How to close the payment interface if the payment failed in Stripe Google pay?

Need to close the payment interface if the payment fails. Now it showing error instead of close.enter image description here

paymentRequest.on('paymentmethod', function(ev) {
    console.log('ev response',ev)
    
    that.accountService.makePaymentIntent(totAmt).then((data)=>{
      console.log("Promise resolved with: " + JSON.stringify(data));
      let clientSecret = data.data.client_secret;
      // Confirm the PaymentIntent without handling potential next actions (yet).
      stripe.confirmCardPayment(
        clientSecret,
        {payment_method: ev.paymentMethod.id},
        {handleActions: false}
      ).then(function(confirmResult) {
        console.log('confirmResult',confirmResult);

        if (confirmResult.error) {
          // Report to the browser that the payment failed, prompting it to
          // re-show the payment interface, or show an error message and close
          // the payment interface.
          ev.complete('fail');
        } else {
          // Report to the browser that the confirmation was successful, prompting
          // it to close the browser payment method collection interface.
          ev.complete('success');
          // Check if the PaymentIntent requires any actions and if so let Stripe.js
          // handle the flow. If using an API version older than "2019-02-11"
          // instead check for: `paymentIntent.status === "requires_source_action"`.
          if (confirmResult.paymentIntent.status === "requires_action") {
            // Let Stripe.js handle the rest of the payment flow.
            stripe.confirmCardPayment(clientSecret).then(function(result) {
              console.log('confirmCardPayment result',result);                  
              if (result.error) {
                // The payment failed -- ask your customer for a new payment method.
              } else {                    
                that.orderComplete(confirmResult, ev);
              }
            });
          } else {                                
            // The payment has succeeded.
            that.orderComplete(confirmResult, ev);                
          }
        }
      });
    }).catch((error)=>{
      ev.complete('success');
      console.log("Promise rejected with " + JSON.stringify(error));
      that.orderFailed(error);
    });
  });    
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

It's not possible to do this — the behaviour of the PaymentRequest sheet for Google/Apple Pay is controlled by the browser. On Chrome when you let the browser know that the payment failed(by calling ev.complete('fail')), then it shows a message and does not close the sheet. That's not something you have any way to influence I'm afraid.

about 4 years ago · Juan Pablo Isaza Denunciar

0

you can use ev.complete('success') instead of ev.complete('fail')

about 4 years ago · Juan Pablo Isaza 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