0.2.3 • Published 6 years ago

nativescript-paystack v0.2.3

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
6 years ago

Nativescript Paystack

npm version npm Build Status

Nativescript-Paystack provides a wrapper that incorporate payments using Paystack from within your {N} applications. The integration is achieved using the Paystack Android/iOS SDK libraries. Hence, has full support for both Android & iOS.

Installation

The package should be installed via tns plugin for proper gradle and Pod setup.

tns plugin add nativescript-paystack

Usage

Setup

First import package into the main-page's model or app.component as the case may be for either {N} Core or {N} w/ Angular

import { NSPaystack } from "nativescript-paystack";

Then create an instance of NSPaystack.

this.paystack = new NSPaystack();

Initialize the instance with the publicKey gotten from Paystack

this.paystack.initialize(publicKey);

Charging a Card

To charge a card, it is expected that the Form/UI responsible for handling the data collection is handled by you.

const payment = this.paystack.payment(<NSPaymentParams>{
    amount: 500000, // In Kobo
    email: "my.email@gmail.com",
    number: "4084084084084081",
    cvc: "408",
    year: 2019,
    month: 3
});

payment
    // Add metadata
    .addMetadata("Hello", "World")
    // Add custom data fields
    .addCustomField("Author", "Anonymous");

// Listen on when validation modal comes up
payment.on(NSPayment.openDialogEvent, () => {
    console.log(NSPayment.openDialogEvent);
});

// Listen on when validation modal goes out
payment.on(NSPayment.closeDialogEvent, () => {
    console.log(NSPayment.closeDialogEvent);
});

payment
    .charge()
    .then(({ reference }) => {
        alert(`Reference: ${reference}`);
    })
    .catch(({ code, message, reference }) => {
        alert(`An error occured`);
        console.log(`Code: ${code}`);
        console.log(`Message: ${message}`);
        console.log(`Reference: ${reference}`); // If any
    });

API

Payload Signature

The payload signature is also available via the definition files.

ArgumentTypeDescription
numberstringthe card number without any space seperator
monthnumberthe card expiry month ranging from 1-12
yearnumberthe card expiry year in a four-digits e.g 2019
cvcstringthe card 3/4 digit security code
amountnumberthe charge amount in kobo
emailstringthe customer's email address

Response Signature

Promise response signature is also available via the definition files.

Success Response

interface NSPaystackSuccessResponse {
    reference: string;
}

Error Response

export interface NSPaystackErrorResponse {
    code: number | string;
    message: string;
    reference?: string;
}

Note

It is expected that all tests be carried out on an actual device.

License

Apache License Version 2.0, January 2004

0.2.3

6 years ago

0.2.2

6 years ago

0.2.1

6 years ago

0.2.0

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.1-beta.1

6 years ago

0.0.1-beta.0

6 years ago