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

lazerpay-node-sdk

v0.2.5

Published

<p> <img title="Lazerpay" src= "https://res.cloudinary.com/njokuscript/image/upload/v1646279538/lazerpay_logo_no-bg_trkkye.png" width="300px"/> </p>

Downloads

40

Readme

The Lazerpay v1 NodeJS SDK

How to use

npm install lazerpay-node-sdk

Using yarn,

yarn add lazerpay-node-sdk
const Lazerpay = require('lazerpay-node-sdk');

const lazerpay = new Lazerpay(LAZER_PUBLIC_KEY, LAZER_SECRET_KEY);

Use TEST API keys for testing, and LIVE API keys for production

Lazerpay Methods exposed by the sdk

1. Payment

  • Initialize Payment
  • Confirm Payment

2. Payout

  • Crypto Payout
  • Bank Payout ~ This is coming to V2

3. Swap

  • Crypto swap
  • Get Crypto Swap Amount Out

4. Payment Links

  • Create payment links
  • Get all payment links
  • Get a single payment link
  • Update a payment Link

5. Onramp

  • Get Rate
  • Get Accounts
  • Initiate

6. Misc

  • Get all accepted coins
  • Get all accepted currencies
  • Get wallet balance

Payment

Initialize Payment

This describes to allow your customers to initiate a crypto payment transfer.

const payment_tx = async () => {
  try {
    const transaction_payload = {
      reference: 'YOUR_REFERENCE', // Replace with a reference you generated
      customer_name: 'Njoku Emmanuel',
      customer_email: '[email protected]',
      coin: 'BUSD', // BUSD, DAI, USDC or USDT
      currency: 'USD', // NGN, AED, GBP, EUR
      amount: '100',
      accept_partial_payment: true, // By default it's false
      metadata: { 
        type: "Wallet fund"
      } // Metadata is an optional param
    };

    const response = await lazerpay.Payment.initializePayment(transaction_payload);

    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Confirm Payment

This describes to allow you confirm your customers transaction after payment has been made.

const confirm_tx = async () => {
  try {
    const payload = {
      identifier:
        'address generated or the reference generated by you from initializing payment',
    };

    const response = await lazerpay.Payment.confirmPayment(payload);

    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Transfer

Crypto Payout

This describes to allow you withdraw the crypto in their lazerpay balance to an external address

const crypto_payout_tx = async () => {
  const transaction_payload = {
    amount: 1,
    recipient: '0x0B4d358D349809037003F96A3593ff9015E89efA', // address must be a bep20 address
    coin: 'BUSD',
    blockchain: 'Binance Smart Chain',
    metadata: {
      id: "343243243223432"
    } // Metadata is an optional param
  };
  try {
    const response = await lazerpay.Payout.transferCrypto(transaction_payload);
    console.log(response.error);
  } catch (e) {
    console.log(e);
  }
};

Swap

Crypto swap

This describes to allow you swap swap between two stable coins

const crypto_swap_tx = async () => {
  const swap_payload = {
      amount: 100,
      fromCoin: 'BUSD',
      toCoin: 'USDT',
      blockchain: 'Binance Smart Chain',
      metadata: {
      id: "343243243223432"
    } // Metadata is an optional param
  };
  try {
    const response = await lazerpay.Swap.cryptoSwap(swap_payload);
    console.log(response.error);
  } catch (e) {
    console.log(e);
  }
};

Get Crypto Swap Amount Out

This describes the amount you will receive on swap even before initiating the swap

const crypto_swap_tx = async () => {
  const swap_payload = {
      amount: 100,
      fromCoin: 'BUSD',
      toCoin: 'USDT',
      blockchain: 'Binance Smart Chain',
  };
  try {
    const response = await lazerpay.Swap.getCryptoSwapAmountOut(swap_payload);
    console.log(response.error);
  } catch (e) {
    console.log(e);
  }
};

Payment Links

Create a payment link

This describes to allow you create a Payment link programatically

const create_paymentlink_tx = async () => {
  const transaction_payload = {
    title: 'Njoku Test',
    description: 'Testing this sdk',
    logo:
      'https://assets.audiomack.com/fireboydml/bbbd8710eff038d4f603cc39ec94a6a6c2c5b6f4100b28d62557d10d87246f27.jpeg?width=340&height=340&max=true',
    currency: 'USD',
    type: 'standard',
    amount: 100 // Optional
  };
  try {
    const response = await lazerpay.PaymentLinks.createPaymentLink(
      transaction_payload
    );
    console.log(response);
  } catch (e) {
    console.log(e);
  }
};

Update a payment link

This describes disabling or enabling a payment link by updating it

const transaction_payload = {
  identifier: '7f2vrd8n',
  status: 'inactive', // status should either be active or inactive
};

const update_paymentLink = async () => {
  try {
    const response = await lazerpay.PaymentLinks.updatePaymentLink(
      transaction_payload
    );
    console.log(response);
  } catch (e) {
    console.log(e);
  }
};

Get all payment links

This describes to allow you get all Payment links created

const get_all_paymentlinks = async () => {
  try {
    const response = await lazerpay.PaymentLinks.getAllPaymentLinks();
    console.log(response);
  } catch (e) {
    console.log(e);
  }
};

Get a single payment link

This describes to allow you get a Payment link by it's identifier

const identifier = '7f2vrd8n';

const get_paymentlink = async () => {
  try {
    const response = await lazerpay.PaymentLinks.getPaymentLink(identifier);
    console.log(response);
  } catch (e) {
    console.log(e);
  }
};

Onramp

Get rate

This methods lets you get onramp rate

 const get_onramp_rate = async () => {
  try {
    const response = await lazerpay.Onramp.getOnrampRate({
      currency: 'NGN',
    });
    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Get Accounts

This methods lets get your onramp bank accounts

 const get_onramp_accounts = async () => {
  try {
    const response = await lazer.Onramp.getOnrampAccounts();
    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Initiate

This methods lets you initiate onramp request

 const initiate_onramp = async () => {
  try {
   const response = await lazer.Onramp.initiateOnramp({
      amount: 10000,
      currency: 'NGN',
      accountId: "Account id",
      reference: "Payment reference",
      coin: 'USDT',
    });
    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Misc

Get Accepted Coins

This gets the list of accepted cryptocurrencies on Lazerpay

const get_accepted_coins = async () => {
  try {
    const response = await lazerpay.Misc.getAcceptedCoins();
    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Get Accepted Currencies

This gets the list of accepted Currencies on Lazerpay

const get_accepted_currencies = async () => {
  try {
    const response = await lazerpay.Misc.getAcceptedCurrencies();
    console.log(response);
  } catch (error) {
    console.log(error);
  }
};

Get Wallet Balance

Get get wallet balance by specifying the coin

const get_wallet_balance = async () => {
  try {
    const coin = "USDT" // BUSD, DAI, USDC or USDT
    const response = await lazerpay.Misc.getWalletBalance(coin);
    console.log(response);
  } catch (error) {
    console.log(error);
  }
};