The @juspay-tech/hyper-js
package provides seamless integration of HyperSwitch's secure checkout features into your web application. It dynamically loads the required scripts, and initializes the HyperSwitch SDK.
Install the package via npm or yarn:
npm install @juspay-tech/hyper-js
or
yarn add @juspay-tech/hyper-js
import { loadHyper } from "@juspay-tech/hyper-js";
The main function, loadHyper
, dynamically loads the HyperSwitch SDK and initializes it with analytics metadata.
const hyperPromise = loadHyper("YOUR_PUBLISHABLE_KEY", {
customBackendUrl: "YOUR_BACKEND_URL",
// You can configure this as an endpoint for all the api calls such as session, payments, confirm call.
});
str
: A string representing your public key.option
: Optional configuration object (option<JSON.t>
).
loadHyper("YOUR_PUBLISHABLE_KEY", None)
->then(instance => {
// Use the instance for further operations
})
->catch(err => {
console.error("Failed to load Hyper:", err)
})
The function loadStripe
is deprecated and will be removed in future versions. It is a wrapper around loadHyper
with a warning. Please use loadHyper
instead.
loadStripe("YOUR_PUBLISHABLE_KEY", None);
Warning: This function will log a deprecation message in the console.
- Dynamically loads the HyperSwitch SDK based on the environment (Sandbox or Production).
- Ensures that only a single script instance is added to the page.
- Provides an easy-to-use promise-based API.
The script URL is determined based on your environment and key:
- Sandbox:
https://beta.hyperswitch.io/v1/HyperLoader.js
- Production:
https://checkout.hyperswitch.io/v0/HyperLoader.js
- Fallback: Determines based on the prefix of the provided key (
pk_prd_
).
The loadHyper
function ensures that the HyperLoader.js
script is added only once to the page. Adding multiple script tags may lead to unexpected behavior. If a script is already present, the function will issue a warning and use the existing script.
Contributions are welcome! Please ensure that your changes align with the existing code style and add appropriate documentation.
This project is licensed under the Apache License. See the LICENSE file for details.
For further assistance, please contact Support.