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!';

};