Nativescript integration for Paystack payment platform.



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.
The package should be installed via tns plugin for proper gradle and Pod setup.
``bash`
tns plugin add nativescript-paystack
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
`ts`
import { NSPaystack } from "nativescript-paystack";
Then create an instance of NSPaystack.
`ts`
this.paystack = new NSPaystack();
Initialize the instance with the publicKey gotten from Paystack
`ts`
this.paystack.initialize(publicKey);
To charge a card, it is expected that the Form/UI responsible for handling the data collection is handled by you.
`ts
const payment = this.paystack.payment(
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});An error occured
})
.catch(({ code, message, reference }) => {
alert();Code: ${code}
console.log();Message: ${message}
console.log();Reference: ${reference}
console.log(); // If any`
});
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 |
Promise response signature is also available via the definition files.
#### Success Response
`ts`
interface NSPaystackSuccessResponse {
reference: string;
}
#### Error Response
`ts``
export interface NSPaystackErrorResponse {
code: number | string;
message: string;
reference?: string;
}
Apache License Version 2.0, January 2004