plumter_flutter_sdk_v1

Plumter Flutter SDK — a self-contained, drop-in package that lets a host app generate dynamic payment beneficiary fields for cross-border payment tickets, with server-driven theming. The public surface is intentionally tiny: PFSdk.launch() mounts the whole flow over your app, and you receive the outcome through callbacks.

Beta. This is a 0.1.0-beta.x pre-release. The API may change before the 1.0.0 stable release.

Features

  • One entry pointPFSdk.launch() pushes a full-screen payment module.
  • Isolated state — runs in its own Riverpod ProviderContainer; it never shares state with the host app.
  • Complete flow — routing number / SWIFT validation, beneficiary capture, review, and confirmation.
  • Document upload — camera, gallery, and file-manager pick with automatic image compression and in-app image / PDF preview.
  • Server-driven theming — light and dark themes resolved at runtime from Plumter's config, including fonts (see Fonts).

Getting started

Add the beta as a dependency. Because it is a pre-release, you must opt in with a pre-release version constraint (a plain ^0.1.0 will not resolve to a beta):

dependencies:
  plumter_flutter_sdk_v1: ^0.1.0-beta.1

Then:

flutter pub get

You need a Plumter-issued authToken (a JWT). The SDK decodes it to discover the API base URL, so no additional endpoint configuration is required.

Usage

import 'package:plumter_flutter_sdk_v1/plumter_flutter_sdk_v1.dart';

PFSdk.launch(
  context: context,
  authToken: authToken, // Plumter-issued JWT
  themeMode: ThemeMode.light,
  onSuccess: (PFSdkResult result) {
    // SDK Result.
  },
  onFailure: (PFSdkError error) {
    // Something went wrong (e.g. PFSdkError.networkError).
  },
  onCancel: () {
    // User dismissed the module.
  },
);

Only PFSdk, PFSdkResult, and PFSdkError are exported — everything else is internal.

Fonts

Typography is resolved at runtime from your vendor config, so you do not configure fonts in the host app. The SDK picks a typeface in this order:

Config Result
a family with a .ttf / .otf URL downloaded and cached
a family with any other URL fetched from Google Fonts by family name
a family with no URL assumed already installed on the device
no family at all Lato, a free Google Font

No typeface is bundled with this package; everything is fetched at runtime. Licensing for any font you point the config at is yours to hold.

Font loading never blocks the flow. Fetching is bounded by a five-second timeout, and a fetch that fails or stalls falls back to the platform's system font rather than holding the screen — the payment flow renders either way.

Additional information

Licensed under the MIT License.