@sergdudko/stripe-js
Version:
Supercharge Your Stripe Integration with Enhanced Methods for stripe-js: Take Full Control of Customer Card Management Right from Your Frontend! Elevate Your Payment Processing Capabilities with Ease and Efficiency.
22 lines (21 loc) • 831 B
JavaScript
import { loadStripe as loadStripeDefault, } from "@stripe/stripe-js";
import { StripeExtension } from "./methods/index.js";
/**
* Initialize stripe
*
* @param publishableKey - stripe public key, like pk_...
* @param options - stripe initialization options
* @returns
*/
export const loadStripe = async (publishableKey, options) => {
const stripeDefault = await loadStripeDefault(`${publishableKey}`, options);
if (stripeDefault === null ||
// eslint-disable-next-line no-underscore-dangle
typeof stripeDefault?._apiKey !== "string")
throw new Error("Initialization error.");
const stripeExtension = new StripeExtension(
// eslint-disable-next-line no-underscore-dangle
stripeDefault._apiKey);
const stripe = Object.assign(stripeDefault, stripeExtension);
return stripe;
};