Pass payment intent to frontend

This commit is contained in:
Benjamin Beganović 2021-09-17 21:01:12 +02:00
parent b21a27373d
commit 308a742eee
2 changed files with 15 additions and 28 deletions

View File

@ -25,40 +25,26 @@ class ProcessSOFORT {
}; };
handle = () => { handle = () => {
let data = {
type: 'sofort',
customer: document.querySelector('meta[name="customer"]').content,
amount: document.querySelector('meta[name="amount"]').content,
currency: 'eur',
redirect: {
return_url: document.querySelector('meta[name="return-url"]')
.content,
},
sofort: {
country: document.querySelector('meta[name="country"]').content,
},
};
document.getElementById('pay-now').addEventListener('click', (e) => { document.getElementById('pay-now').addEventListener('click', (e) => {
document.getElementById('pay-now').disabled = true; document.getElementById('pay-now').disabled = true;
document.querySelector('#pay-now > svg').classList.remove('hidden'); document.querySelector('#pay-now > svg').classList.remove('hidden');
document.querySelector('#pay-now > span').classList.add('hidden'); document.querySelector('#pay-now > span').classList.add('hidden');
this.stripe.createSource(data).then(function(result) { this.stripe.confirmSofortPayment(
if (result.hasOwnProperty('source')) { document.querySelector('meta[name=pi-client-secret').content,
return (window.location = result.source.redirect.url); {
payment_method: {
sofort: {
country: document.querySelector(
'meta[name="country"]'
).content,
},
},
return_url: document.querySelector(
'meta[name="return-url"]'
).content,
} }
);
document.getElementById('pay-now').disabled = false;
document.querySelector('#pay-now > svg').classList.add('hidden');
document.querySelector('#pay-now > span').classList.remove('hidden');
this.errors.textContent = '';
this.errors.textContent = result.error.message;
this.errors.hidden = false;
document.getElementById('pay-now').disabled = false;
});
}); });
}; };
} }

View File

@ -7,6 +7,7 @@
<meta name="amount" content="{{ $stripe_amount }}"> <meta name="amount" content="{{ $stripe_amount }}">
<meta name="country" content="{{ $country }}"> <meta name="country" content="{{ $country }}">
<meta name="customer" content="{{ $customer }}"> <meta name="customer" content="{{ $customer }}">
<meta name="pi-client-secret" content="{{ $pi_client_secret }}">
@endsection @endsection
@section('gateway_content') @section('gateway_content')