cloudpayments_sdk 0.3.1 copy "cloudpayments_sdk: ^0.3.1" to clipboard
cloudpayments_sdk: ^0.3.1 copied to clipboard

CloudPayments for Flutter: card validation, cryptogram generation through the official native iOS and Android SDKs, the Payment API, and 3-D Secure in a native WebView.

Changelog #

0.3.1 - 2026-07-26 #

Bug Fixes #

  • (ci) setup OIDC token step - (637ec57)

Features #

  • enhance payment handling with lifecycle management and touch blockers - (56f2f46)

Miscellaneous Chores #

  • (readme) video showcase link - (26b44d9)
  • (readme) gifs instead of video - (a7ee16e)
  • (readme) reduce size for assets - (3578d08)
  • example in .pubignore - (6226472)

Refactoring #

  • (example) migrate to SwiftPM - (4f9639b)

0.3.0 - 2026-07-25 #

Bug Fixes #

  • (android) require AGP 8.13+ for compileSdk 37 - (3fac1d8)
  • strict lint rules - (c2aa900)

Documentation #

  • (example) correct the Android and iOS setup notes - (68c9a5c)

Features #

  • (ios) resolve CloudPayments via Swift PM - (ceb9ce9)
  • annotate the public API with @immutable and @useResult - (e92b60b)
  • CI/CD workflow - (b921cb5)

Miscellaneous Chores #

  • (README) add contact information for adopting the package - (c736f19)
  • (example) check in the iOS Runner project - (587201f)
  • (example) add the missing project files - (2ca6b46)
  • (skip) change dart to flutter in CI/CD - (fb7c15b)
  • .pubignore to exclude unnecessary files - (120e7ea)
  • remove .fvmrc - (a4bd45f)

Refactoring #

  • move the plugin identifier to dev.arxdeus.flutter - (d4d51ee)

Unreleased #

  • The plugin identifier moved from ru.cloudpayments.flutter to dev.arxdeus.flutter. This covers the method channel name, the Android package, namespace and Maven group, the 3-D Secure Intent extra keys and the ProGuard rules. Nothing in the Dart API changes, and the CloudPayments SDK dependencies (ru.cloudpayments.sdk, ru.cloudpayments.gitpub…) are untouched. Apps that keep their own ProGuard rules for the plugin classes have to update the package name there.

0.3.0 #

  • Models, results, options and exceptions are annotated @immutable, and pure serialisers, parsers and validators are annotated @useResult, so the analyzer catches a mutable subclass or a discarded toJson() at compile time. ReceiptItem gained a const constructor as part of this; its amount is now computed on read rather than at construction, with the same value as before.

  • Android now requires AGP 8.13.0 or newer. API 37 is published only as platforms;android-37.0, so older plugins cannot resolve the compileSdk 37 the CloudPayments AAR demands and fail with Failed to find Platform SDK with path: platforms;android-37. The module declares its compile SDK through the release(37) { minorApiLevel = 0 } DSL.

  • Fixed the cpSdkHost manifest placeholder replacing the whole placeholder map instead of adding to it, which dropped the applicationName placeholder the Flutter Gradle plugin sets and broke the manifest merge.

  • iOS dependency via Swift Package Manager. The plugin's Package.swift pulls CloudPayments 2.1.6 from gitpub, so SPM-enabled apps (default on Flutter 3.44+) no longer add CloudPayments git pods to ios/Podfile. CocoaPods dual support remains: when SPM is disabled, the existing Podfile git-pod instructions still apply. Android still requires the JitPack repository.

0.2.0 #

  • The ready-made CloudPayments payment form. CloudpaymentsSdk.presentPaymentForm() opens the native SDK's own checkout — PaymentActivity on Android, PaymentOptionsViewController on iOS — which handles card entry, 3-D Secure and whichever of СБП, T‑Pay, SberPay, Долями and foreign cards the terminal has enabled. Outcomes come back as a sealed PaymentFormResult.
  • Subscriptions. CloudpaymentsRecurrent creates a subscription together with the first payment; CloudPayments charges every following period server-side, with no API secret and no further involvement from the app. Supported on both the form (presentPaymentForm(recurrent: ...)) and the low-level path (PaymentDetails.recurrent, folded into JsonData).
  • PaymentFormOptions covers two-stage payments, the email field, payment-method order and single-method mode.

0.1.0 #

Initial release.

  • Card data validation (Luhn, expiry, CVV, card system detection) implemented in pure Dart, using the same 14–19 digit range CloudPayments itself accepts.
  • Card cryptogram packet generation delegated to the official CloudPayments native SDKs (ru.cloudpayments.gitpub.integrations.sdk:cloudpayments-android on Android, the Cloudpayments pod on iOS), with the RSA key fetched from payments/publickey and passed in explicitly so the first payment after a cold install cannot fail.
  • CloudPayments Payment API client: charge, auth, ThreeDSCallback, bins/info and payments/publickey with a Public ID alone, plus post3ds, confirm, void, refund, payments/get, token payments and test for server-side use with an API secret.
  • 3-D Secure handled by a native WebView screen: an Activity on Android and a presented UIViewController on iOS. Both official SDKs implement 3-D Secure 1 only.
  • CloudpaymentsSdk.pay() runs the whole cycle in one call: cryptogram → charge or auth → 3-D Secure → callback → outcome.
  • Outcomes are values, not exceptions: PaymentSuccess, PaymentDeclined, PaymentCancelled, PaymentFailure and PaymentRequiresThreeDs form a sealed hierarchy. An outcome that genuinely cannot be determined raises rather than being guessed at.
1
likes
150
points
230
downloads

Documentation

API reference

Publisher

verified publisherarxdeus.dev

Weekly Downloads

CloudPayments for Flutter: card validation, cryptogram generation through the official native iOS and Android SDKs, the Payment API, and 3-D Secure in a native WebView.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, http, meta, plugin_platform_interface

More

Packages that depend on cloudpayments_sdk

Packages that implement cloudpayments_sdk