finik_sdk 1.1.1 copy "finik_sdk: ^1.1.1" to clipboard
finik_sdk: ^1.1.1 copied to clipboard

This Flutter package allows your application to integrate Finik payment feature.

example/lib/main.dart

import 'package:finik_sdk/finik_sdk.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:uuid/uuid.dart';

void main() async => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Finik QR Demo',
      theme: ThemeData(useMaterial3: false),
      home: const MainScreen(),
    );
  }
}

class MainScreen extends StatelessWidget {
  const MainScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Main Screen'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () => Navigator.push(
            context,
            MaterialPageRoute(builder: (_) => const FinikScreen()),
          ),
          child: const Text('Go to FinikScreen'),
        ),
      ),
    );
  }
}

class FinikScreen extends StatefulWidget {
  const FinikScreen({super.key});

  @override
  State<FinikScreen> createState() => _FinikScreenState();
}

class _FinikScreenState extends State<FinikScreen> {
  @override
  Widget build(BuildContext context) {
    return AnnotatedRegion<SystemUiOverlayStyle>(
      value: SystemUiOverlayStyle.dark,
      child: Scaffold(
        body: FinikProvider(
          apiKey: 'YOUR_API_KEY',
          // OPTIONAL - default false
          isBeta: true,
          // OPTIONAL - default FinikSdkLocale.KG
          locale: FinikSdkLocale.en,
          // OPTIONAL - default TextScenario.payment
          textScenario: TextScenario.replenishment,
          // OPTIONAL - default true
          useHiveForGraphQLCache: false,
          onBackPressed: () {},
          onPayment: (data) {},
          widget: const CreateItemHandlerWidget(
            accountId: 'YOUR_ACCOUNT_ID',
            nameEn: 'YOUR_ITEM_NAME_EN',
            // OPTIONAL
            requestId: '110ec58a-a0f2-4ac4-8393-c866d813b8d1',
            // OPTIONAL
            callbackUrl: 'YOUR_CALLBACK_URL',
            // OPTIONAL
            fixedAmount: 77.77,
            // OPTIONAL
            maxAvailableQuantity: 1,
            // OPTIONAL
            requiredFields: [
              RequiredField(
                fieldId: 'YOU_FIELD_ID',
                value: 'YOUR_FIELD_VALUE',
              ),
            ],
          ),
        ),
      ),
    );
  }
}