@finpoints-tech/payment-js
v1.0.2
Published
A ReScript-based JavaScript library for dynamic script loading and PaymentLoader initialization.
Readme
@finpoints-tech/payment-js
The @finpoints-tech/payment-js package provides seamless integration of PaymentSwitch's secure checkout features into your web application. It dynamically loads the required scripts, and initializes the PaymentSwitch SDK.
Installation
Install the package via npm or yarn:
npm install @finpoints-tech/payment-jsor
yarn add @finpoints-tech/payment-jsUsage
Importing the Library
import { loadPayment } from "@finpoints-tech/payment-js";Loading PaymentSwitch
The main function, loadPayment, dynamically loads the PaymentSwitch SDK and initializes it with analytics metadata.
Syntax
const paymentPromise = loadPayment("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>).
Example
loadPayment("YOUR_PUBLISHABLE_KEY", None)
->then(instance => {
// Use the instance for further operations
})
->catch(err => {
console.error("Failed to load Payment:", err)
})Deprecated Function: loadStripe
The function loadStripe is deprecated and will be removed in future versions. It is a wrapper around loadPayment with a warning. Please use loadPayment instead.
Example
loadStripe("YOUR_PUBLISHABLE_KEY", None);Warning: This function will log a deprecation message in the console.
Features
- Dynamically loads the PaymentSwitch 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.
Script URLs
The script URL is determined based on your environment and key:
- Sandbox:
https://sandbox-checkout.doopayment.com/PaymentLoader.js - Production:
https://websdk.doopayment.com/PaymentLoader.js - Fallback: Determines based on the prefix of the provided key (
pk_prd_).
Integration Warnings
The loadPayment function ensures that the PaymentLoader.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.
Development and Contributions
Contributions are welcome! Please ensure that your changes align with the existing code style and add appropriate documentation.
License
This project is licensed under the Apache License. See the LICENSE file for details.
