plaid_link 0.0.4 copy "plaid_link: ^0.0.4" to clipboard
plaid_link: ^0.0.4 copied to clipboard

Plaid Link for Flutter. Integrate financial accounts into your Flutter applications. Learn more about Plaid Link at https://plaid.com/docs/#creating-items-with-plaid-link

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:plaid_link/plaid_link.dart';

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Plaid Link Example'),
        ),
        body: AppContent(),
      ),
    ),
  );
}

// Options can be const if desired.
const plaidLinkOptions = const PlaidLinkOptions(
  clientName: 'Plaid Link Example',
  publicKey: 'YOUR_PLAID_PUBLIC_KEY',
  env: PlaidEnv.sandbox,
  products: [PlaidProduct.auth],
  language: 'en',
);

class AppContent extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: RaisedButton(
        child: Text('Open Plaid'),
        onPressed: () {
          PlaidLink.open(
            plaidLinkOptions,
            onEvent: onEvent,
            onSuccess: onSuccess(context),
            onExit: onExit(context),
          );
        },
      ),
    );
  }

  void onEvent(PlaidEventName event, PlaidEventMetadata metadata) {
    print('Got event: event=$event, metadata=$metadata');
  }

  PlaidSuccessCallback onSuccess(BuildContext context) {
    return (String publicToken, PlaidSuccessMetadata metadata) {
      showDialog(
        context: context,
        builder: (context) {
          return AlertDialog(
            content: Column(
              children: [
                Text('Successful Plaid Link'),
                Text('publicToken: $publicToken'),
                Text('linkSessionId: ${metadata.linkSessionId}'),
                Text('accounts.name: ${metadata.accounts.map((a) => a.name).toList()}'),
                Text('institution.name: ${metadata.institution.name}'),
              ],
            ),
            actions: [
              FlatButton(
                child: Text('Okay'),
                onPressed: () => Navigator.of(context).pop(),
              ),
            ],
          );
        },
      );
    };
  }

  PlaidExitCallback onExit(BuildContext context) {
    return (PlaidError error, PlaidExitMetadata metadata) {
      showDialog(
        context: context,
        builder: (context) {
          return AlertDialog(
            content: Column(
              children: [
                Text('Exited Plaid Link'),
                Text('error: $error'),
                Text('linkSessionId: ${metadata.linkSessionId}'),
              ],
            ),
            actions: [
              FlatButton(
                child: Text('Okay'),
                onPressed: () => Navigator.of(context).pop(),
              ),
            ],
          );
        },
      );
    };
  }
}
2
likes
35
pub points
0%
popularity

Publisher

unverified uploader

Plaid Link for Flutter. Integrate financial accounts into your Flutter applications. Learn more about Plaid Link at https://plaid.com/docs/#creating-items-with-plaid-link

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

flutter, flutter_web_plugins, js

More

Packages that depend on plaid_link