flutter_qris 1.0.1+8 copy "flutter_qris: ^1.0.1+8" to clipboard
flutter_qris: ^1.0.1+8 copied to clipboard

A Flutter library for decoding and processing QRIS (Quick Response Code Indonesian Standard) data, designed for payment applications.

example/lib/main.dart

// ignore_for_file: invalid_use_of_visible_for_testing_member

import 'package:flutter/material.dart';
import 'package:flutter_qris/qris.dart';

void main() {
  runApp(MyApp());
}

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

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter QRIS Example',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

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

  @override
  Widget build(BuildContext context) {
    final String exampleData =
        // BNI
        '00020101021126590013ID.CO.BNI.WWW011893600009150305256502096102070790303UBE51440014ID.CO.QRIS.WWW0215ID20222337822690303UBE5204472253033605802ID5912VFS GLOBAL 66015JAKARTA SELATAN61051294062070703A016304D7C5';
    // Invalid
    // "fewijnfjnfjif2";

    return Scaffold(
      appBar: AppBar(
        title: Text('QRIS Example'),
      ),
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            try {
              final qRISMPM = QRISMPM(exampleData);

              // EXAMPLE TO DEBUGING LOG
              qRISMPM.tlv.logDebugingTLV();
              debugPrint(qRISMPM.tlvtoMap(qRISMPM.tlv).toPrettyString());
              await Future.delayed(const Duration(milliseconds: 20));
              qRISMPM.additionalData.logDebugingAdditionalData();
              await Future.delayed(const Duration(milliseconds: 20));
              qRISMPM.transaction.logDebugingTip();
              await Future.delayed(const Duration(milliseconds: 20));
              qRISMPM.logDebugingCRC();
              await Future.delayed(const Duration(milliseconds: 20));
              qRISMPM.merchant.logDebugMerchant();
              await Future.delayed(const Duration(milliseconds: 20));
              qRISMPM.mcc.loglogDebugingMCC();
              await Future.delayed(const Duration(milliseconds: 20));
              qRISMPM.currency.logDebugingCurrency();
              await Future.delayed(const Duration(milliseconds: 20));

              // EXAMPLE TO USING DATA
              final pan = qRISMPM.merchant.pan;
              final currency = qRISMPM.currency.code;
              final qrisType = qRISMPM.pointOfInitiationMethod.name;

              debugPrint('PAN: $pan');
              debugPrint('Currency: $currency');
              debugPrint('QRIS Type: $qrisType');
            } on TLVException catch (e) {
              debugPrint(e.toString());
            } catch (e) {
              debugPrint(e.toString());
            }
          },
          child: Text('Decode QRIS Data'),
        ),
      ),
    );
  }
}
2
likes
160
points
6
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter library for decoding and processing QRIS (Quick Response Code Indonesian Standard) data, designed for payment applications.

Repository (GitHub)
View/report issues

Topics

#qris #qris-library #qris-decoder #quick-response-code #payment-processing

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

crclib, flutter

More

Packages that depend on flutter_qris