All Projects → jogboms → Nativescript Paystack

jogboms / Nativescript Paystack

Licence: apache-2.0
Nativescript integration for Paystack payment platform

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Nativescript Paystack

borica-3ds
PHP Borica EMV 3DS library
Stars: ✭ 15 (+50%)
Mutual labels:  payments, payment-gateway
MugglePay
Make Crypto Payment Easy 让数字货币支付更简单
Stars: ✭ 176 (+1660%)
Mutual labels:  payments, payment-gateway
python-daraja
Python Wrapper for interacting with the MPESA Daraja API. More Features to be implemented
Stars: ✭ 20 (+100%)
Mutual labels:  payments, payment-gateway
gringotts payment
Demo Phoenix app showing gringotts payment library integrations.
Stars: ✭ 24 (+140%)
Mutual labels:  payments, payment-gateway
paymentgateway
Dokumentace ČSOB platební brány a jejího eAPI pro platby platebními kartami, Apple Pay, mallpay a platebními tlačítky ČSOB.
Stars: ✭ 104 (+940%)
Mutual labels:  payments, payment-gateway
hub20
Self-hosted payment gateway for Ethereum and any ERC20 token, integrates with Raiden for almost-zero fees.
Stars: ✭ 59 (+490%)
Mutual labels:  payments, payment-gateway
sep-pay
Pay.ir Payment Package for Laravel 5.3+
Stars: ✭ 17 (+70%)
Mutual labels:  payments, payment-gateway
Sdk Dotnet
.Net SDK for Authorize.Net API
Stars: ✭ 124 (+1140%)
Mutual labels:  payments, payment-gateway
adyen-dotnet-api-library
Adyen API Library for .NET
Stars: ✭ 69 (+590%)
Mutual labels:  payments, payment-gateway
adyen-salesforce-commerce-cloud
Salesforce Commerce Cloud (formerly Demandware)
Stars: ✭ 63 (+530%)
Mutual labels:  payments, payment-gateway
mollie-api-go
Golang wrapper for Mollie's REST API with full resource coverage.
Stars: ✭ 45 (+350%)
Mutual labels:  payments, payment-gateway
Sdk Php
PHP SDK for Authorize.Net API
Stars: ✭ 343 (+3330%)
Mutual labels:  payments, payment-gateway
Far-From-Home
A cross-platform mobile developed using Flutter and Firestore for House Rental Application with integrated payment module
Stars: ✭ 27 (+170%)
Mutual labels:  payments, payment-gateway
cybersource-sdk-java
Java SDK for CyberSource Simple Order API
Stars: ✭ 44 (+340%)
Mutual labels:  payments, payment-gateway
Laravel Paddle
Paddle.com API integration for Laravel with support for webhooks/events
Stars: ✭ 132 (+1220%)
Mutual labels:  payments, payment-gateway
Documentations
Documentation to integrate PayU SDKs
Stars: ✭ 26 (+160%)
Mutual labels:  payments, payment-gateway
Openfintech
Opensource FinTech standards & payment provider data
Stars: ✭ 87 (+770%)
Mutual labels:  payments, payment-gateway
Adyen Php Api Library
Adyen API Library for PHP
Stars: ✭ 93 (+830%)
Mutual labels:  payments, payment-gateway
adyen-python-api-library
Adyen API Library for Python
Stars: ✭ 41 (+310%)
Mutual labels:  payments, payment-gateway
cybersource-android-sdk
The CyberSource InApp SDK enables developers to simply and securely incorporate mobile payments into their Android applications.
Stars: ✭ 25 (+150%)
Mutual labels:  payments, payment-gateway

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: "[email protected]",
    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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].