Amwal Pay SDK Flutter
A Flutter SDK for integrating Amwal Pay payment solutions into your mobile apps, providing secure, seamless, and customizable payment experiences.
Features
- Multi-Platform Support: Android, iOS, Web, macOS, Windows, Linux
- WASM Compatibility: Full support for WebAssembly compilation (Flutter 3.32.0+)
- Payment Methods: Card payments, wallet payments, QR payments
- Security: Built-in security features and encryption
- Customizable UI: Flexible and customizable payment interfaces
WASM Compatibility
This SDK is fully compatible with Flutter's WebAssembly (WASM) compilation for web platforms. WASM provides:
- Better Performance: Near-native execution speed in web browsers
- Smaller Bundle Size: Optimized compilation for web deployment
- Modern Web Standards: Leverages the latest web technologies
WASM Requirements
- Flutter 3.32.0 or higher
- Dart 3.8.0 or higher
- Modern web browsers with WASM support
Building for WASM
# Build with WASM support
flutter build web --wasm
# Build with JavaScript fallback
flutter build web
Installation
Add this to your package's pubspec.yaml
file:
dependencies:
amwal_pay_sdk: ^1.1.26
Usage
import 'package:amwal_pay_sdk/amwal_pay_sdk.dart';
// Initialize the SDK
await AmwalPaySDK.initialize(
merchantId: 'your_merchant_id',
environment: Environment.production,
);
Platform Support
Platform | Status | Notes |
---|---|---|
Android | ✅ Full Support | Native Android implementation |
iOS | ✅ Full Support | Native iOS implementation |
Web (JavaScript) | ✅ Full Support | Traditional web compilation |
Web (WASM) | ✅ Full Support | WebAssembly compilation |
macOS | ✅ Full Support | Native macOS implementation |
Windows | ✅ Full Support | Native Windows implementation |
Linux | ✅ Full Support | Native Linux implementation |
Web Platform
The web platform supports both JavaScript and WASM compilation modes:
- JavaScript Mode: Traditional compilation for broader browser compatibility
- WASM Mode: Modern compilation for better performance and smaller bundles
Web-Specific Features
- Responsive design for all screen sizes
- Touch and mouse input support
- Progressive Web App (PWA) capabilities
- Cross-browser compatibility
Contributing
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For support and questions:
- GitHub Issues: Create an issue
- Documentation: SDK Documentation
- Email: support@amwal.com
Libraries
- amwal_pay_sdk
- A Flutter SDK for integrating Amwal Pay payment solutions into your mobile apps. This library provides secure, seamless, and customizable payment experiences.
- amwal_pay_sdk_flutter
- A Flutter SDK for integrating Amwal Pay payment solutions into your mobile apps. This library provides secure, seamless, and customizable payment experiences.
- amwal_sdk_settings/amwal_sdk_setting_container
- amwal_sdk_settings/amwal_sdk_settings
- amwal_sdk_web
- core/apiview/api_view
- core/apiview/state_mapper
- core/base_repository/base_repository
- core/base_response/base_response
- core/base_state/base_cubit_state
- core/base_view_cubit/base_cubit
- core/constants/sdk_constants
- core/enums/transaction_type
- core/loader_mixin
- core/logger/amwal_logger
- core/logger/example
- core/logger/firestore_logger
- core/logger/logar
- core/logger/logar_injector
- core/logger/logar_migration_helper
- core/logger/logger
- core/merchant_store/merchant_store
- core/networking/constants
- core/networking/custom_log_interceptor
- core/networking/dio_client
- core/networking/encryption_util
- core/networking/mockup_interceptor
- core/networking/network_service
- core/networking/network_state
- core/networking/secure_hash_interceptor
- core/networking/token_interceptor
- core/resources/assets/app_assets_paths
- core/resources/color/colors
- core/tablayout/tab_layout_cubit
- core/tablayout/tab_layout_generic_widget
- core/tooltip_widget
- core/ui/accepted_payment_methods_widget
- core/ui/alert_dialog/alert_dialog
- core/ui/amountcurrencywidget/amount_currency_widget
- core/ui/amountcurrencywidget/amount_currency_widget_cubit
- core/ui/amountcurrencywidget/decimal_text_input_formatter
- core/ui/app_dialog
- core/ui/cardinfoform/card_form_inputs_formatter
- core/ui/cardinfoform/card_info_form_widget
- core/ui/cardinfoform/card_type
- core/ui/cardinfoform/card_utils
- core/ui/count_down_dialog/count_down_dialog
- core/ui/directional_widget/directional_widget
- core/ui/error_dialog
- core/ui/inputfields/date_picker_field
- core/ui/inputfields/input_field_widget
- core/ui/inputfields/phone_input_field
- core/ui/listpicker/bottom_select_list
- core/ui/listpicker/drop_down_list_cubit
- core/ui/listpicker/drop_down_list_widget
- core/ui/loading_dialog
- core/ui/sale_card_feature_common_widgets
- core/ui/transactiondialog/ios_receipt_sharing_helper
- core/ui/transactiondialog/receipt_sharing_helper
- core/ui/transactiondialog/transaction
- core/ui/transactiondialog/transaction_detail_widget
- core/ui/transactiondialog/transaction_details_settings
- core/ui/transactiondialog/transaction_status_dialog
- core/usecase/i_use_case
- features/card/amwal_salebycard_sdk
- features/card/cubit/sale_by_card_contact_less_cubit
- features/card/cubit/sale_by_card_manual_cubit
- features/card/data/models/request/customer_token_request
- features/card/data/models/request/purchase_request
- features/card/data/models/response/card_info
- features/card/data/models/response/customer_token_response
- features/card/data/models/response/purchase_response
- features/card/data/repository/sale_by_card_repository
- features/card/dependency/injector
- features/card/domain/repository/sale_by_card_repo
- features/card/domain/sale_by_card_constants
- features/card/domain/use_case/get_customer_token_use_case
- features/card/domain/use_case/pay_with_token_use_case
- features/card/domain/use_case/purchase_apple_samsung_pay
- features/card/domain/use_case/purchase_otp_step_one_use_case
- features/card/domain/use_case/purchase_otp_step_two_use_case
- features/card/domain/use_case/purchase_use_case
- features/card/module/sale_by_card_module
- features/card/presentation/app
- features/card/presentation/sale_by_card_contact_less_screen
- features/card/presentation/sale_by_card_manual_screen
- features/card/presentation/sale_by_card_screen
- features/card/presentation/thrree_ds_web_view_page
- features/card/presentation/widgets/otp_dialog
- features/card/presentation/widgets/select_card_bottom_sheet
- features/card/state/sale_by_wallet_state
- features/card/transaction_manager/amwal_card_transaction_manager
- features/card/transaction_manager/i_card_transaction_manager
- features/card/transaction_manager/in_app_card_transaction_manager
- features/card/transaction_manager/transaction_util_dialog
- features/currency_field/cubit/currency_cubit
- features/currency_field/data/models/request/currency_request
- features/currency_field/data/models/response/currency_response
- features/currency_field/data/repository/currency_repository
- features/currency_field/domain/currency_constants
- features/currency_field/domain/repository/currency_repository
- features/currency_field/domain/use_case/currency_use_case
- features/currency_field/module/currency_binds
- features/currency_field/presentation/currency_field
- features/digital_wallet/constants/digital_wallet_constants
- features/digital_wallet/constants/digital_wallet_translations
- features/digital_wallet/cubit/sale_by_digital_wallet_cubit
- features/digital_wallet/model/digital_wallet_response
- features/digital_wallet/module/sale_by_apple_pay_module
- features/digital_wallet/presentation/digital_wallet_screen
- features/payment_argument
- features/receipt/receipt_handler
- features/transaction/data/models/request/transaction_operation_request
- features/transaction/data/models/response/merchant_name_response
- features/transaction/data/models/response/one_transaction_response
- features/transaction/data/models/response/transaction_operation_response
- features/transaction/data/repository/transaction_repository_impl
- features/transaction/domain/repository/transaction_repository
- features/transaction/domain/use_case/get_transaction_by_id
- features/transaction/module/transaction_module
- features/transaction/util
- features/wallet/amwal_salebywallet_sdk
- A Flutter SDK for integrating Amwal Pay payment solutions into your mobile apps. This library provides secure, seamless, and customizable payment experiences.
- features/wallet/cubit/sale_by_qr_cubit
- features/wallet/cubit/sale_by_wallet_cubit
- features/wallet/cubit/sale_by_wallet_pay_cubit
- features/wallet/cubit/sale_by_wallet_verify_cubit
- features/wallet/data/models/request/dynamic_qr_request
- features/wallet/data/models/request/payment_request
- features/wallet/data/models/request/sale_by_wallet_request
- features/wallet/data/models/request/verification_request
- features/wallet/data/models/response/qr_response
- features/wallet/data/models/response/sale_by_wallet_response
- features/wallet/data/models/response/verify_customer_response
- features/wallet/data/models/response/wallet_pay_response
- features/wallet/data/repository/sale_by_wallet_repo_imp
- features/wallet/data/sale_by_wallet_constant
- features/wallet/dependency/injector
- features/wallet/domain/sale_by_wallet_repository
- features/wallet/domain/use_case/pay_with_alias_use_case
- features/wallet/domain/use_case/pay_with_mobile_use_case
- features/wallet/domain/use_case/pay_with_qr_use_case
- features/wallet/domain/use_case/verify_customer_use_case
- features/wallet/module/sale_by_wallet_module
- features/wallet/presentation/app
- features/wallet/presentation/screen/sale_by_wallet_paying_options
- features/wallet/presentation/screen/sale_by_wallet_screen
- features/wallet/presentation/widgets/alias_pay_widget
- features/wallet/presentation/widgets/phone_pay_widget
- features/wallet/presentation/widgets/sale_by_wallet_mixins/sale_by_wallet_action_mixin
- features/wallet/presentation/widgets/sale_by_wallet_mixins/sale_by_wallet_pay_mixin
- features/wallet/presentation/widgets/sale_by_wallet_mixins/sale_by_wallet_verify_mixin
- features/wallet/presentation/widgets/scan_qr_to_pay
- features/wallet/state/sale_by_wallet_state
- localization/app_localizations
- localization/app_localizations_delegate
- localization/app_localizations_setup
- localization/locale_utils
- presentation/amwal_pay_screen
- presentation/color/colors
- presentation/sdk_arguments
- sdk_builder/network_service_builder
- sdk_builder/sdk_builder
- service/nfc_manager