@finpoints-tech/payment-js

1.0.2 • Public • Published

@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-js

or

yarn add @finpoints-tech/payment-js

Usage

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.

Readme

Keywords

Package Sidebar

Install

npm i @finpoints-tech/payment-js

Weekly Downloads

0

Version

1.0.2

License

Apache-2.0

Unpacked Size

27.2 kB

Total Files

10

Last publish

Collaborators

  • rockun
  • damon.kong
  • fp.devops