nativescript-paystack
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.3 • Public • Published

    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.

    Argument Type Description
    number string the card number without any space seperator
    month number the card expiry month ranging from 1-12
    year number the card expiry year in a four-digits e.g 2019
    cvc string the card 3/4 digit security code
    amount number the charge amount in kobo
    email string the 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

    Install

    npm i nativescript-paystack

    DownloadsWeekly Downloads

    47

    Version

    0.2.3

    License

    Apache-2.0

    Unpacked Size

    75 kB

    Total Files

    24

    Last publish

    Collaborators

    • jogboms