flutter_snapmint_sdk

Use this package/Plugin as a library

Depend on it Run this command:

With Flutter:

 $ flutter pub add flutter_snapmint_sdk

This will add a line like this to your package's pubspec.yaml (and run an implicit flutter pub get):

dependencies:
  flutter_snapmint_sdk: ^1.0.0 //use latest version

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

Usage

Imports


//As per requirement
import 'package:flutter_snapmint_sdk/flutter_snapmint_sdk.dart';
import 'package:flutter_snapmint_sdk/src/SnapmintButtonWidget.dart';
import 'package:flutter_snapmint_sdk/src/SnapmintButtonGoldWidget.dart';

1. Example to use Popup with Strip

  • Paramter to pass net amount of product to take loan of

  • Font family will be 'Inter-Regular' for better experience of UI.

  • JsonUrl will be as per environment you are using with

Button Widget Sample


import 'package:flutter_snapmint_sdk/src/SnapmintButtonWidget.dart';


SnapmintButtonWidget(
                amount: '100.0',
                jsonUrl: ''//to call base api to get the details
                fontFamily: const TextStyle(fontFamily: 'Inter-Regular'),
                disablePopup: false,
            );

2. To use Checkout Payment method

Sample Button Example


final _flutterSnapmintSdkPlugin = FlutterSnapmintSdk();


 ElevatedButton(
                onPressed: () {
						openSnapMintModule();
                    },
                child: const Text(
                    "Open SDK",
                     style: TextStyle(
                     fontSize: 14,
                     color: Colors.blue,
                     fontFamily: 'Roboto',
                     fontWeight: FontWeight.w400,
                    ),
                )
			);

Sample Implementation


Future<void> openSnapMintModule() async {

    Map<String, dynamic> responseData;
    try {
    
        Map<String, dynamic> jsonData = {
        "finalData": finalData, // whole object to pass
        "base_url": "", //base url where to land on
        "suc_url": "", //success callback url
        "fail_url": "", //failure callback url
        };
    
      String jsonString = jsonEncode(jsonData);
      
      String nativeData =
          await _flutterSnapmintSdkPlugin.openSnapmintModule(jsonString) ??
              {}.toString();
              
      print("TEST! $nativeData");
      
      responseData = jsonDecode(nativeData);
      
	  if(responseData["statusCode"] == 200) {
	  print("response is  ${responseData["responseMsg"]}");
	  } else {
	  print("response is  ${responseData["responseMsg"]}");
	 }
	 
    } on Exception {
      responseData = <String, dynamic>{};
      print("TEST! Exception handled");
    }

    if (!mounted) return;

    setState(() {
      _response = responseData;
    });
  }