JSFiddle - React, Tailwind, and code Playground
HTML
<div id="script-result">
</div>
<input type="button" onclick="loadStripeScript()" value="Load Script">
JavaScript
const loadStripeScript = async function() {
const loadScript = function() {
return new Promise( (resolve, reject) => {
let script = document.createElement('script');
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);
script.onerror = function() {
console.log('Stripe failed to load');
return reject();
};
script.onload = function() {
console.log('Stripe Loaded!');
return resolve();
};
script.src = 'https://js.stripe.com/v3/';
});
};
try {
await loadScript();
}
catch(nope) {
console.log('Error loading Stripe script:', nope);
document.getElementById('script-result').innerText = 'Failed to load';
return;
}
document.getElementById('script-result').innerText = 'Stripe is ready!';
};