Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fidele-software-solutions/capacitor-paystack
A Paystack capacitor plugin for Android and iOS
https://github.com/fidele-software-solutions/capacitor-paystack
android angular capacitor capacitor-plugin ionic ios javascript paystack paystack-android paystack-ios paystack-sdk react typescript vue
Last synced: about 1 month ago
JSON representation
A Paystack capacitor plugin for Android and iOS
- Host: GitHub
- URL: https://github.com/fidele-software-solutions/capacitor-paystack
- Owner: Fidele-Software-Solutions
- Created: 2020-05-12T13:18:56.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-02-17T22:45:57.000Z (almost 3 years ago)
- Last Synced: 2024-11-20T00:37:29.207Z (about 1 month ago)
- Topics: android, angular, capacitor, capacitor-plugin, ionic, ios, javascript, paystack, paystack-android, paystack-ios, paystack-sdk, react, typescript, vue
- Language: Objective-C
- Homepage:
- Size: 1.84 MB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Paystack Capacitor Plugin
A Paystack capacitor plugin for Android and iOS## Getting Started
This plugin enables seamless integration of the [Paystack SDK](https://github.com/PaystackHQ/paystack-android) into a [Capacitor](https://capacitor.ionicframework.com/) 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 protected]"});//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
* **Okafor Ikenna** - [Github](https://bot101.github.io)
## LicenseThis project is licensed under the MIT License