Raven Bank Mobile POS (BankBox) Flutter Plugin

A Flutter Plugin that enables you connect to Raven Bank’s Bank Box

Prerequisites

Credentials

First you need to obtain your app credentials from here

Android Setup

Set minSdkVersion target

This library targets android devices >= SDK 21. Make sure you're targeting at-least the same by modifying your android/app/build.gradle file

minSdkVersion = 21

IOS Setup

Update Info.plist to add neccessary permissions

  <key>NSBluetoothAlwaysUsageDescription</key>
  <string>allow app use bluetooth</string> 
  <key>NSBluetoothPeripheralUsageDescription</key>
  <string>allow app use bluetooth</string> 
  <key>NSCameraUsageDescription</key>
  <string>Can I use the camera please?</string>

Usage

Import

import 'package:mobile_pos/mobile_pos_sdk.dart';

Launch SDK

  await RavenBankBoxPlugin.launch(context,
                      config: BankBoxConfig(
                          onClose: () {
                            //user taps close button
                            Navigator.pop(context);
                          },
                          showLabel: true,
                          theme: const MobilePOSTheme(
                              headerTextColor: Color(0xFF755AE2),
                              primaryColor: Color(0xFF755AE2),
                              onPrimary: Colors.white,
                              secondaryColor: Color(0xFFEA872D)),
                          enviroment: BankBoxEnviroment.staging,
                          appInfo: AppInfo(
                              appName: '<YOUR APP LABEL>',
                              appId: '<YOUR APP ID>',
                              appEmail: '<YOUR APP EMAIL>'),
                          customerInfo: CustomerInfo(
                            lastName: 'Raven',
                            firstName: 'Raven',
                            bvn: '<USER BVN>',
                            email: '<USER EMAIL>',
                            phone: '<USER PHONE NUMBER>',
                          ),
                          onSuccess: (data) {
                            print(data);
                          },
                          onError: (error) {
                            print(error.message);
                          }));