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

pagos24

v0.4.2

Published

Pagos24 library

Downloads

8

Readme

pagos24

pagos24 is the Javascript / Typescript library so you can make payments and use Pagos24 services. This library has all the necessary tools for your application to use our services.

Table of Contents

  1. Installation
  2. Usage
  3. Login User
  4. Connect User
  5. Payment
  6. QR Code
  7. Log Out
  8. Contributing

Installation

    npm install pagos24 --save

or

    yarn add pagos24

Usage

The library is initialized where the application is initialized

import { Auth, ELanguageType } from "pagos24";

Auth.init({
    token: "tokenExample",
    appId: "apiExample",
    email: "[email protected]",
    secretKey: "exampleKey",
    sandbox: true,
    projectUrl: "Project example",
    lang: ELanguageType.EnUs
})
.then((result) => ...)
.catch((err) => ...);

| Parameter | Description | | ---------- | --------------------------------------------------------------------------------------------------------------- | | token | Token generated in the account settings on the website | | appId | Self-generated on the website | | email | Email with which you login to the pagos24 application | | secretKey | Secret key generated by the user in the application or web page | | projectUrl | Name of the project that will integrate the pagos24 module | | sandbox | Specifies if the library is in test or production mode (Recommended to use true if the library is being tested) | | lang | Language to be handled within the library |

This function will return the currently logged user, as long as there is one, otherwise it will return undefined

Login User

To be able to use a user's data, you must first log in. This is possible with the following function:

import { Auth, ELanguageType } from "pagos24";

Auth.logIn(ELanguageType.EnUs, ELoginMode.Window)
.then((result) => ...)
.catch((err) => ...);

| Parameter | description | type | | ----------- | -------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | language | Language in which the window will be opened (required) | ELanguageType.enUS (english) ELanguageType.esVE (spanish) ELanguageType.ptBR (portuguese) | | mode | Login opening mode | ELoginMode.Window ELoginMode.Redirect | | redirectUrl | Url to which the login will be directed after logging in a user (optional) | string |

If you are integrating the library with a framework like Ionic, the login is different, of course, the results will be the same, it would be done in the following way:

import { AuthIonic, ELanguageType } from "pagos24";

AuthIonic.logIn('com.example://', ELanguageType.EnUs)
.then((result) => ...)
.catch((err) => ...);

| Parameter | Description | type | | --------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | urlScheme | Url schema of the application (usually the ID of the application) | string | | language | App language | ELanguageType.enUS (english) ELanguageType.esVE (spanish) ELanguageType.ptBR (portuguese) |

The process is simple, when trying to log in, the library will search your device to see if the Pagos24 application is installed, if it is installed the application will open, otherwise it will give an error.

Like the normal login, if there is already a logged in user, it will not redirect to the other application but the data will be delivered directly.

If there is any doubt about the url scheme this link can help you to configure it Setting url schema

Connect User

To obtain the credit cards affiliated with a Pagos24 user, you must connect with him as follows:

import { Payment } from 'pagos24';

Payment.connectUser(user)
.then((resp) => ...)
.catch((err) => ...);

It is recommended to use this function just after logging in with a user

| Parameter | description | type | | --------- | ---------------------------------------- | ------------ | | user | User from whom the data will be obtained | IUserConnect |

interface IUserConnect {
  avatar: string;
  email: string;
  error: number;
  fullname: string;
  lang: ELanguageType;
  qr: string;
  user_id: string;
}

Payment

There are mainly three methods to make a payment through Pagos24: With a credit card (affiliated with Pagos24), by points and by Pagos24 balance. The way to use the payment function is as follows:

import { Payment, EpaymentType, ELanguageType } from "pagos24";

Payment.payment(EpaymentType.BinCash, {
    OTPago: '012345',
    amount: 100,
    language: ELanguageType.EnUs,
    payerEmail: "[email protected]",
})
.then(result => ...)
.catch(err  => ...);

| Parameter | Description | type | | ------------- | ---------------------------------------------------------------- | ---------------------------------------------------------------------- | | paymentType | The type of payment that will be made through Pagos24 (required) | EpaymentType.BinCash EpaymentType.CreditCard EpaymentType.Points | | paymentParams | The parameters required to make a payment (required) | IPaymentParams |

// Params interface
interface IPaymentParams {
  payerEmail: string;
  amount: number;
  OTPago: number;
  language: ELanguageType;
  creditCardNumber?: string;
}

| Parameter | Description | type | | ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- | | payerEmail | Email of the user who is going to pay (required) | string | | amount | Amount to be paid by the user (required) | number | | pin | User payment pin (required) | number | | language | User language (required) | ELanguageType.enUS ELanguageType.esVE ELanguageType.ptBR | | creditCardNumber | Required to pay by credit card, data that comes when connecting with the user. Required when paying by credit card (opcional) | string |

QR Code

There is the possibility of paying through the Pagos24 mobile application by reading a QR code. With the library you can also show that code and give the possibility of paying more easily

Controller.ts:

import { Payment } from "pagos24";

Payment.generateQRCode(100)
.then((uriExample) => ...)
.catch((err) => ...);

Template.html:

<img src="uriExample" />

| Parameter | Description | type | | ------------- | ----------------- | -------- | | paymentAmount | Amount to be paid | number |

The function will return a base64 uri with the QR code that must be placed in the img tag within the template.

Log Out

There is a function to log out the current user

import {Auth} from 'pagos24';

function logOut() {
  Auth.logOut();
}

This function will erase the current user data

Contributing

Extraction requests are welcome. For major changes, first open a problem to discuss what you would like to change

License

MIT