npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

xpresspay

v1.0.12

Published

A Javasript library for integrating with the XpressPay

Downloads

21

Readme

XpressPay NPM Library

npm version npm license

A Javasript library for integrating with the XpressPay.

Installation

npm install xpresspay
import { payWithXpressPay, PayWithXpressPayConfig } from "xpresspay";

/**
 *
 * The PayWithXpressPayConfig is the type for the parameters expected to be passed as an argument inside the payWithXpressPay, this is useful for typescript type  checking
 *
 */

// Example: call the payWithXpressPay function to invoke the payment gateway
payWithXpressPay({
  onSuccess: (response) => {
    console.log(response);
  },
  onError: (error) => {
    console.log(error);
  },
  authorizationUrl: "http://myxpresspay.com:6003/******",
  amount: "2000.00",
  transactionId: Math.floor(Math.random() * 1000000),
  email: "[email protected]",
  public_key: "xxxxxxxxxxxxxxxxxxxxxxxxxx",
  callbackurl: "https://example.com",
  currency: "NGN",
  productId: "1001",
  applyConviniencyCharge: true,
  isRecurring: false,
  DISPLAY_MODE: "POPUP" | "PAGE",
  ENV_MODE: "DEBUG" | "TEST" | "LIVE",
  productDescription: "MTN",
  bodyColor: "#0000",
  buttonColor: "#0000",
  footerText: "Powered by Test Ltd",
  footerLink: "http://test.com",
  footerLogo: "http://test.com/test.png",
  metadata: [
    {
      name: "sample",
      value: "test",
    },
  ],
});

Request for calling xpresspay function.

If you want to implement initialize payment from backend, just pass authorizationUrl, you can also decide whether to use a popup mode or page mode by passing either value to the DISPLAY_MODE

To initialize the transaction, you'll need to pass information such as email, first name, last name amount, public_Key, etc. Email and amount are required. You can also pass any other additional information in the metadata object field. Here is the full list of parameters you can pass: |Param | Type | Default | Required | Description
| :------------ | :------------------- | :--------- | :------- | :------------------------------------------------- | amount | string | undefined | true | Amount you want to debit customer e.g 1000.00, 10.00... | transactionId | string | undefined | true | Unique case sensitive transaction identification | email | string | undefined | true | Email address of customer | public_Key | string | undefined | true | Your public key from XpressPay. | currency | string | NGN | true | Currency charge should be performed in. Allowed only NGN. | productId | string | undefined | false | unique identification number of the product your customer want to pay to. | applyConviniencyCharge | boolean | undefined | false | specify whether to apply charge for this customer transaction. | productDescription | string | undefined | false | description number of the product your customer want to pay to. | mode | string | Debug | true | Allowed values are Debug or Live. | authorizationUrl | string | undefined | false | This is the url generated from your backend that can be redirected to. | callBackUrl | string | your current url page | false | CallbackUrl is the url you want your customer to be redirected to when payment is successful. The default url is the page url where customer intialized payment. | bodyColor | string | null | false | your prefered customized color for the payment page body. | buttonColor | string | null | false | your prefered customized color for the payment page buttons. | footerText | string | null | false | your prefered customized text for the payment page footer. | footerLogo | string | null | false | your prefered customized logo for the payment page footer. | metadata | object | empty object | false | Object containing any extra information you want recorded with the transaction. | DISPLAY_MODE | string | POPUP | false | This defines the appearance of the payment gateway either a popup or page, noted that this can also be used inconjunction with authorizationUrl or not. | ENV_MODE | string | DEBUG | false | This defines the environment to be used DEBUG means our test environment, TEST means our payment gateway sandbox, while LIVE means production