Nothing Special   »   [go: up one dir, main page]

Skip to content

Fidele-Software-Solutions/capacitor-paystack

Repository files navigation

Paystack Capacitor Plugin

A Paystack capacitor plugin for Android and iOS

Getting Started

This plugin enables seamless integration of the Paystack SDK into a Capacitor application.

Installation

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

Configuration

In your Android Studio project, add the following line to the list of plugins in your project, if any

...
add(PaystackCapacitor.class);

In your project folder, run the command below to update your Android Studio/XCode project

npx cap sync

Setup complete!

Code example

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

Note

None

Running the tests

Tests are not yet setup

Deployment

Build your application and you are good to go!

Versioning

Yet to setup

Author

License

This project is licensed under the MIT License