alsaqi_payment_sdk 1.0.2
alsaqi_payment_sdk: ^1.0.2 copied to clipboard
Production-ready Payment Gateway SDK for Flutter. Supports card payments, tokenization, and payment status queries with strong security practices.
Al-Saqi Payment SDK for Flutter #
The official Flutter SDK for Al-Saqi Payment Gateway. Seamlessly integrate secure card payments into your Flutter applications with a premium, customizable UI and robust security.
Features #
- ✅ Complete Payment Flow: Support for card purchase and tokenization.
- ✅ Secure UI Components: Pre-built, glassmorphic UI components (
CardInputWidget,PaymentSheet,PaymentPage). - ✅ Dual Environment: Easily switch between
sandbox(testing) andproduction(live). - ✅ Auto-Formatting: Smart card number and expiry formatting with intelligent cursor management.
- ✅ Dynamic Theming: Support for Light and Dark modes with deep customization.
- ✅ RTL Ready: Full support for Arabic and English languages.
- ✅ Tokenization: Save cards securely and pay later using tokens.
Installation #
Add the dependency to your pubspec.yaml:
dependencies:
alsaqi_payment_sdk: ^1.0.2
Then run:
flutter pub get
Getting Started #
1. Initialize the SDK #
Initialize the SDK once at the start of your application (usually in main.dart).
import 'package:alsaqi_payment_sdk/alsaqi_payment_sdk.dart';
void main() {
PaymentSDK.initialize(
apiKey: 'your_merchant_api_key',
environment: Environment.sandbox, // Use Environment.production for live
);
runApp(MyApp());
}
UI Components #
🪄 Payment Sheet (Bottom Sheet) #
Launch a secure, pre-styled bottom sheet that handles the entire input and payment process.
PaymentSDK.presentPaymentSheet(
context,
amount: 75000,
currency: 'IQD',
onResult: (result) {
// Handle result
},
);
📱 Payment Page #
Push a dedicated full-screen payment page to your navigation stack.
PaymentSDK.pushPaymentPage(
context,
amount: 75000,
currency: 'IQD',
onResult: (result) {
// Handle result
},
);
🛠 Card Input Widget #
Embed the card input fields directly into your own layout.
final GlobalKey<CardInputWidgetState> widgetKey = GlobalKey();
// In your build method:
CardInputWidget(widgetKey: widgetKey);
// To process payment:
final cardData = widgetKey.currentState?.getCardData();
Customization #
Theming #
The SDK uses a dynamic PaymentTheme that automatically adapts to system Light/Dark modes. You can also provide your own custom theme.
PaymentSDK.initialize(
apiKey: '...',
environment: Environment.sandbox,
theme: PaymentTheme(
primaryColor: Color(0xFF1A9A85),
backgroundColor: Colors.white,
inputCornerRadius: 12.0,
buttonCornerRadius: 16.0,
// ... many more properties
),
);
Localization #
Switch between Arabic and English seamlessly.
PaymentSDK.initialize(
apiKey: '...',
environment: Environment.sandbox,
language: 'ar', // Set to 'en' for English
);
Security #
- Encryption: Sensitive card data is encrypted using AES-256 before transmission.
- Certificate Pinning: Production environment enforces SSL certificate pinning for maximum security.
- Obfuscation: Secure UI components prevent accidental logging of raw card numbers.
Support #
For technical support or integration inquiries, please contact our team at sdk@alsaqi.io.
© 2026 Al-Saqi Technologies. All rights reserved.