Flutter SDK
Official SUQO SDK for Flutter.
Collect a SUQO payment on a full-screen checkout screen in your Flutter app. Your backend creates a checkout session through SUQO's API and hands your app its id; this package opens SUQO's own checkout page for that id, lets the buyer pay, and tells you how it went.
Source: github.com/suqo-ai/suqo-flutter · pub.dev: suqo_checkout · v0.1.1
No credential in the app. This package makes no SUQO API calls of its own and holds no API key. The session id is the only thing it knows — single-use, short-lived, and carrying no buyer details — so nothing sensitive and nothing long-lived ever sits in your app bundle.
Install
flutter pub add suqo_checkoutThat pulls in webview_flutter and url_launcher. The only platform configuration is one manifest block on Android, and only if your gateways hand off to bank apps. Requires Flutter >=3.3.0 and Dart >=2.18.0.
What's included
SuqoCheckout.open()— pushes a full-screen route and returns aFuturethat completes with exactly oneSuqoOutcome:SuqoSuccess,SuqoFailureorSuqoClosed. No callbacks to wire; youawaitthe result.- Exhaustive handling with
when— one callback per outcome, so the compiler catches a case you forgot. - Sandbox by default —
modeisSuqoMode.sandboxunless you saySuqoMode.live, so an app that names neither cannot take a live payment by accident. - An optional
SuqoProvider— app-wide defaults only. There is no screen for it to own, so you do not need to mount it. - Gateway hand-off handled for you — bank and wallet deeplinks, including Android
intent://URLs, are passed to the OS, and the buyer returns to the screen exactly as they left it. - An ordinary route — the header's back button, Android's hardware back button and your own
Navigator.of(context, rootNavigator: true).pop()all dismiss it.
The session must already have a customer. There is no buyer-detail argument anywhere on
open. A session created without a customer shows the page's own "can't be paid" explanation and reports an unavailable event with SuqoUnavailableReason.noCustomer. Assign the customer on your backend, through the checkout-session API, before you hand the id to open.Next
- Quickstart — mount the provider, open your first payment, and add the Android manifest block.
- Configure the provider —
mode,baseUrl, labels, safe-area insets and exports. - Handle outcomes —
SuqoSuccess,SuqoFailure,SuqoClosed, and what to trust. - Debug with events — the
onEventstream and theunavailableevent. - Troubleshooting — by error-panel copy.
- Changelog — what shipped.