A Flutter package for making payments via Paystack Payment Gateway (https://paystack.com)
:heavy_check_mark: All Paystack supported payment methods/channels
:heavy_check_mark: Verifying Transactions
No configuration required for this package works out of the box.
final request = PaystackTransactionRequest(
reference: '...',
secretKey: '....',
email: '...',
amount: 15 * 100,
currency: PaystackCurrency.ngn,
channel: [
PaystackPaymentChannel.mobileMoney,
PaystackPaymentChannel.card,
PaystackPaymentChannel.ussd,
PaystackPaymentChannel.bankTransfer,
PaystackPaymentChannel.bank,
PaystackPaymentChannel.qr,
PaystackPaymentChannel.eft,
],
);
final initializedTransaction = await PaymentService.initializeTransaction(request);
if (!initializedTransaction.status) {
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
backgroundColor: Colors.red,
content: Text(initializedTransaction.message),
));
return;
}
final response = await PaymentService.showPaymentModal(
context,
transaction: initializedTransaction,
// Callback URL must match the one specified on your paystack dashboard,
callbackUrl: '...'
).then((_) async {
return await PaymentService.verifyTransaction(
paystackSecretKey: '...',
initializedTransaction.data?.reference ?? request.reference,
);
});
print(response); // Result of the confirmed payment
Visit the paystack documentation for more information https://paystack.com/docs/api/transaction
This project is open to contributions. Please feel very free to help improve the payment experience on Flutter. Experienced an issue or want to report a bug? Please, report it here.