nativescript-paystack
v0.2.3
Published
Nativescript integration for Paystack payment platform.
Downloads
21
Maintainers
Readme
Nativescript Paystack
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