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