finik_sdk 1.3.0 copy "finik_sdk: ^1.3.0" to clipboard
finik_sdk: ^1.3.0 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';

void main() => 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 StatelessWidget {
  const FinikScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return AnnotatedRegion<SystemUiOverlayStyle>(
      value: SystemUiOverlayStyle.dark,
      child: Scaffold(
        body: FinikProvider(
          apiKey: 'YOUR_API_KEY',
          isBeta: true,
          locale: FinikSdkLocale.KY,
          textScenario: TextScenario.REPLENISHMENT,
          paymentMethods: const [PaymentMethod.APP, PaymentMethod.QR],
          enableShare: true,
          tapableSupportButtons: true,
          onBackPressed: () {},
          onPayment: (data) {},
          widget: const CreateItemHandlerWidget(
            accountId: 'YOUR_ACCOUNT_ID',
            nameEn: 'YOUR_ITEM_NAME_EN',
            requestId: '110ec58a-a0f2-4ac4-8393-c866d813b8d1',
            callbackUrl: 'YOUR_CALLBACK_URL',
            fixedAmount: 9.99,
            maxAvailableQuantity: 1,
            requiredFields: [
              RequiredField(
                fieldId: 'YOU_FIELD_ID',
                value: 'YOUR_FIELD_VALUE',
              ),
            ],
          ),
        ),
      ),
    );
  }
}