Paystack capacitor plugin for Android and iOS
npm install @bot101/capacitor-paystack-pluginThis plugin enables seamless integration of the Paystack SDK into a Capacitor application.
To install this plugin, run the NPM command below in your Capacitor project's root folder
```
npm i capacitor-paystack-plugin
Then open your project in Android Studio with
``
npx cap open android
or XCode with
``
npx cap open ios
...
add(PaystackCapacitor.class);
`In your project folder, run the command below to update your Android Studio/XCode project
`
npx cap sync
`Setup complete!
$3
To charge a card,
`
//Import the paystack plugin
import { PaystackPlugin } from '@bot101/capacitor-paystack-plugin';//Create a paystack object
const paystack: PaystackPlugin; = new PaystackPlugin();
//Initialize the SDK with your Paystack public key (found in your Paystack developer account dashboard)
await this.paystack.initialize({publicKey: "pk_public key here"});
//Add customer card information
await this.paystack.addCard({
cardNumber: String(cardNumber),
expiryMonth: String(expiryMonth),
expiryYear: String(expiryYear),
cvv: String(cvv)
});
//Add the email to charge
await this.paystack.setChargeEmail({email: "email@address.com"});
//Set the amount to charge the card (in kobo)
await this.paystack.setChargeAmount({amount: '1000000'});
//Optionally add custom fields, metadata and charge parameters (more information in the Paystack docs)
await this.paystack.putChargeCustomFields({customField1: "field1", customField2: "field2"});
await this.paystack.putChargeMetadata({metaData1: "meta1", metaData2: "meta2"});
await this.paystack.addChargeParameters({param1: "param1", param2: "param2"});
//Call chargeCard to charge the card
const chargeResponse = await this.paystack.chargeCard();
return chargeResponse.reference;
`To charge an access code
`
//After initializing the plugin as detailed above//Add customer card information
await this.paystack.addCard({
cardNumber: String(cardNumber),
expiryMonth: String(expiryMonth),
expiryYear: String(expiryYear),
cvv: String(cvv)
});
//Set the access code retrieved from your web server
await this.paystack.setAccessCode({accessCode});
//Call chargeCard to charge the card
const chargeResponse = await this.paystack.chargeCard();
return chargeResponse.reference;
`To get a card type
`
const cardInfo = await this.paystack.getCardType()
console.log(cardInfo.card_type) //"Visa", "Mastercard", e.t.c
``* Okafor Ikenna - Github
This project is licensed under the MIT License