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-react-native

v0.2.22

Published

Lazerpay Official react-native sdk

Downloads

5

Readme

Lazerpay Official react-native sdk

All Contributors PRs Welcome

The package allows you accept payment using Lazerpay, install, add keys and use. No stress :)

Installation

yarn add lazerpay-react-native @react-native-clipboard/clipboard

This version requires @react-native-clipboard/clipboard to work

for iOS: cd iOS && pod install && cd ..

for expo applications run;

expo install lazerpay-react-native

Also install react-native-webview because it's a dependency for this package. Here's a link to their docs.

yarn add react-native-webview

and that's it, you're all good to go!

import { Lazerpay } from 'lazerpay-react-native';

const Pay = () => {
  const [openSDK, setopenSDK] = useState(false);

  const metadata = {
    'product name': 'Burger and Pepsi',
    'Product Owner': 'Jeremiah Daniel',
  };

  return (
    <View>
      <Lazerpay
        {...{
          publicKey: 'PUBLIC_KEY',
          customerName: 'CUSTOMERS FULL NAME',
          customerEmail: 'CUSTOMER EMAIL',
          currency: 'CURRENCY', // USD, NGN, AED, GBP, EUR
          amount: '10', // amount as a number or string
          reference: '9192nsjisoi',
          acceptPartialPayment: true,
          metadata, // metadata (optional) is an object of information you wish to pass
          onSuccess: (response) => {
            // handle response here
          },
          onClose: () => setopenSDK(false),
          onError: (response) => {
            // handle responsne here
          },
          openSDK,
        }}
      />

      <TouchableOpacity onPress={() => setopenSDK(true)}>
        <Text> Initiate Payment</Text>
      </TouchableOpacity>
    </View>
  );
};

NOTE

reference has to be updated after any successful partial payment to enable re-initialization.

Configuration Options

publicKey

string: Required Your public key can be found on your dashboard settings.

customerName

string: Required The name of the customer trying to make payments

customerEmail

string: Required The email of the customer trying to make payments

currency

string: Required The name of the fiat currency the merchant accepts

amount

number | string: Required The amount you want to charge the user in currency

metadata

object : Optional This contains any additional information you want to pass with this transaction

reference

string : Optional a unique string used to identifier the user

acceptPartialPayment

boolean : Optional This boolean is used to enforce complete payments

businessLogo

string: Required The logo of your business as url in string

onSuccess

(response) => { Void }: Required This is called when a transaction is successfully. It returns a response.

onError

(response) => { Void }: Required This is called when a transaction fails. It returns a response.

onClose

() => { Void }: Required This is called when a user clicks on the close button.

The Transaction JSON returned for successful events

{
  "data": {
    "acceptPartialPayment": false,
    "actualAmount": 2,
    "amountPaid": 2,
    "amountPaidFiat": 1.9988,
    "amountReceived": 2.02,
    "amountReceivedFiat": 2.018788,
    "blockNumber": 16348693,
    "blockchain": "Binance Smart Chain",
    "coin": "BUSD",
    "currency": "USD",
    "customer": {
      "customerEmail": "[email protected]",
      "customerName": "Njoku Emmanuel",
      "customerPhone": null,
      "id": "b847dbbd-e5a4-4afc-ba26-b292707dc391",
      "network": "mainnet"
    },
    "feeInCrypto": 0.02,
    "fiatAmount": 2,
    "hash": "0x1df0c16f2ee61136c682e92b13ecc38be0f62c100bb9941c92cdac1dc9ab5155",
    "id": "221a0296-16e6-47dd-b9de-b16dc1270e1a",
    "network": "mainnet",
    "recipientAddress": "0xc5Ea2AD69FeA1442B721E76e39384E3BB9B16694",
    "reference": "3rYZeRbmIe",
    "senderAddress": "0x0B4d358D349809037003F96A3593ff9015E89efA",
    "status": "confirmed",
    "type": "received"
  },
  "event": "successful"
}

Configuration Options for Making Payments

openSDK

boolean: Required

This is a prop to display/hide the sdk

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Support

If you're having trouble with Lazerpay React Native SDK or your integration, please reach out to us at [email protected] or come chat with us on Slack. We're more than happy to help you out.

License

MIT