diff --git a/public/js/clients/payments/stripe-browserpay.js b/public/js/clients/payments/stripe-browserpay.js index bf5d4b440dc3..c1296171b579 100644 --- a/public/js/clients/payments/stripe-browserpay.js +++ b/public/js/clients/payments/stripe-browserpay.js @@ -52,6 +52,7 @@ var StripeBrowserPay = /*#__PURE__*/function () { }, { key: "handlePaymentRequestEvents", value: function handlePaymentRequestEvents(stripe, clientSecret) { + document.querySelector('#errors').hidden = true; this.paymentRequest.on('paymentmethod', function (ev) { stripe.confirmCardPayment(clientSecret, { payment_method: ev.paymentMethod.id @@ -62,14 +63,17 @@ var StripeBrowserPay = /*#__PURE__*/function () { if (confirmResult.error) { ev.complete('fail'); + document.querySelector('#errors').innerText = confirmResult.error.message; + document.querySelector('#errors').hidden = false; } else { ev.complete('success'); if (confirmResult.paymentIntent.status === 'requires_action') { - // Let Stripe.js handle the rest of the payment flow. stripe.confirmCardPayment(clientSecret).then(function (result) { if (result.error) { ev.complete('fail'); + document.querySelector('#errors').innerText = result.error.message; + document.querySelector('#errors').hidden = false; } else { document.querySelector('input[name="gateway_response"]').value = JSON.stringify(result.paymentIntent); document.getElementById('server-response').submit(); diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 9c9faecd4f0a..b452bed5af01 100755 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -36,7 +36,7 @@ "/js/clients/payments/stripe-eps.js": "/js/clients/payments/stripe-eps.js?id=931615b2b2b2db8a8499", "/js/clients/payments/stripe-ideal.js": "/js/clients/payments/stripe-ideal.js?id=be6fdb9bee464f76e4b4", "/js/clients/payments/stripe-przelewy24.js": "/js/clients/payments/stripe-przelewy24.js?id=192de985bf3760040e5d", - "/js/clients/payments/stripe-browserpay.js": "/js/clients/payments/stripe-browserpay.js?id=0cd45a1e1c8601c991be", + "/js/clients/payments/stripe-browserpay.js": "/js/clients/payments/stripe-browserpay.js?id=807059d285aa95449736", "/css/app.css": "/css/app.css?id=0082f32acc108fdf80b3", "/css/card-js.min.css": "/css/card-js.min.css?id=62afeb675235451543ad" } diff --git a/resources/js/clients/payments/stripe-browserpay.js b/resources/js/clients/payments/stripe-browserpay.js index 69d01eea5ad3..de371e968a75 100644 --- a/resources/js/clients/payments/stripe-browserpay.js +++ b/resources/js/clients/payments/stripe-browserpay.js @@ -45,6 +45,8 @@ class StripeBrowserPay { } handlePaymentRequestEvents(stripe, clientSecret) { + document.querySelector('#errors').hidden = true; + this.paymentRequest.on('paymentmethod', function (ev) { stripe .confirmCardPayment( @@ -57,6 +59,11 @@ class StripeBrowserPay { if (confirmResult.error) { ev.complete('fail'); + + document.querySelector('#errors').innerText = + confirmResult.error.message; + + document.querySelector('#errors').hidden = false; } else { ev.complete('success'); @@ -64,12 +71,19 @@ class StripeBrowserPay { confirmResult.paymentIntent.status === 'requires_action' ) { - // Let Stripe.js handle the rest of the payment flow. stripe .confirmCardPayment(clientSecret) .then(function (result) { if (result.error) { ev.complete('fail'); + + document.querySelector( + '#errors' + ).innerText = result.error.message; + + document.querySelector( + '#errors' + ).hidden = false; } else { document.querySelector( 'input[name="gateway_response"]'