Features
🎉Mobile Money🎉
🎉VISA🎉
🎉Bank🎉
🎉Bank Transfer🎉
🎉USSD🎉
🎉QR🎉
🎉EFT🎉
Getting started
Before you run, do the following in your android/app/build.gradle
Update your compileSDKVersion to latest
android {
compileSdkVersion 32
}
Update your minSDKVersion to 19
defaultConfig {
minSdkVersion 19
}
Usage
Simply call the PayWithPayStack
class to start making payments with paystack. As simple as that. Please note that for reference its important you use a unique id. I recommend uuid. I have added it as part of the package. Please see example below to see how it is used.
Example
final uniqueTransRef = PayWithPayStack().generateUuidV4()
PayWithPayStack().now(
context: context
secretKey:
"sk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
customerEmail: "your@email.com",
reference:uniqueTransRef,
callbackUrl: "setup in your paystack dashboard"
currency: "GHS",
paymentChannel:["mobile_money", "card"],
amount: 2000,
transactionCompleted: () {
print("Transaction Successful");
},
transactionNotCompleted: () {
print("Transaction Not Successful!");
});
Definitions
context
To aid in routing to screens
secretKey
Provided by Paystack
customerEmail
Email address of the user/customer trying to make payment for receipt purpose
reference
Unique ID, usually alphanumeric and/or number, to recognise this particular transaction
currency
Currency user/customer should be charged in
amount
Amount or value user/customer should be charged.
callbackUrl
URL to redirect to after payment is successful, this helps close the session. This is setup in the Dashboard of paystack and the same URL setup is then provided here by you again. This is very important for successful or failed transactions
paymentChannels [Optional]
Payment Channels are provided to you by Paystack and some may not be available based on your country and preferences set in your paystack dashboard. Example; ["card", "bank", "ussd", "qr", "mobile_money", "bank_transfer", "eft"]
transactionCompleted
Execute a function when transaction is completed or is successful
transactionNotCompleted
Execute a function when transaction is not completed or is successful
metadata [Optional]
Extra data for development purposes. Example:
"metadata": {
"custom_fields": [
{
"name": "Daniel Kabu Asare",
"phone": "+2330267268224"
}
]
}
Screenshots
Additional information
For more information and bug reports, Contact me on github @popekabu
📝 Contributing, 😞 Issues and 🐛 Bug Reports
The project is open to public contribution. Please feel very free to contribute. Experienced an issue or want to report a bug? Please, report it here. Remember to be as descriptive as possible.
Support my Work 🙏🏽
Buy mw coffee here. Thank you!