online_payments_sdk 2.2.0
online_payments_sdk: ^2.2.0 copied to clipboard
A Flutter package to communicate with the Online Payments platform
2.2.0 #
Changed #
- Changed the project's Swift explicit minimum version compatibility to 5.3.
- Removed explicit Swift dependencies that are not required in production.
- Updated Android dependency and aligned the package requirements with it.
- Fixed Android bug in earlier versions with enabled TLS protocols that were not supported.
2.1.0 #
Changed: #
- Updated
freezeddependency with the related dependencies to the latest version - Updated the SDK API annotations
2.0.0 #
API Changes #
The following changes are affecting the consumers of the SDK.
Added: #
- Our SDK now has the web support. This means you can use it in web projects.
Changed: #
-
Updated native SDK dependencies: now using the latest version of Android (v4.1.1), Swift (v4.2.2), and JS (v3.4.0) SDKs.
-
The Swift package is built with the latest Swift build for Xcode 26 and Swift 6.2 and now supports library distribution.
-
Some payment products are not supported in the encrypted payment request, so they are now filtered out from the list of available payment products. These products are filtered:
- Maestro (id: 117)
- Intersolve (id: 5700)
- Sodexo & Sport Culture (id: 5772)
- VVV Giftcard (id: 5784)
-
Breaking change: When validating a single payment product field, you now need to provide the second parameter to the
validateValuemethod which is thePaymentProductinstance, for example,final validationErrorMessages = await field.validateValue(value, paymentProduct);. This does not affect validating a payment request. This change will be reverted in next major release.
Removed #
Removed deprecated properties:
codefromApiErrorItem,stackTracefromNativeException,linkfromPaymentProductFieldDisplayHints, andimageUrlfromTooltip.
Internal changes #
The following changes were done to the project code and structure, but they are not affecting how the SDK is used.
Added #
- Improved tests and test coverage
- Introduced the handler classes as part of the SDK bridge refactor to encapsulate the domain-specific logic.
Changed: #
- Refactored the monolithic
SdkBridgeinto modular, domain-specific handler classes to improve maintainability and code separation. - Changed the project folder structure by domain (e.g.
model/,native/,listeners/) for improved clarity. - Renamed all files to follow the Dart
snake_casenaming convention. - Moved misplaced files (e.g.
session.dart, masking logic, validators) to appropriate locations within the project. - Removed the
Contextparameter from the individualSessionmethod calls, now passed via theSessionconstructor. - Updated the
MethodChannelimplementation to support new Android SDK interface. - Renamed the
ValidationTypetoTypeenum for the validation rule deserialization compatibility. - Renamed the
validationTypefield totypein thepayment_product_response.jsontest fixture for the compatibility reasons. - Replaced property access (e.g.
.unmaskedValue()) with explicit method calls (e.g.getUnmaskedValue()) due to removal of public properties. - Removed serialization of the validationRules in the data restrictions in favor of keeping the native validators map.
1.3.3 #
Changed: #
- Updated the Swift dependency to support setting masked values to the PaymentRequest.
1.3.1 #
Added: #
- Added consumerProguardFiles 'proguard-rules.pro' to the library’s Gradle config, ensuring classes are preserved when minification is enabled.
1.2.2 #
Changed: #
- Updated the Swift dependency. This fixes the compatibility issue with the latest Xcode.
1.2.0 #
Added: #
- Added a simple example application that showcases how you can implement a Payment Product call using the SDK
- Added a
labelproperty toAccountOnFile. Use this property to obtain a masked version of the obfuscated card number. This value should be shown to your customer when they are selecting previously used payment methods. - Added the following properties to
ApiErrorItem:errorCode,category,httpStatusCode,id,propertyNameandretriable. You can use these properties to get more information about Api errors.
Changed: #
- Updated dependencies
- Java 17 is now used to build the Android bridge
- The
AccountOnFile’slabelproperty now returns its masked value or an emptyStringif no mask if found, Previous it could possible return an appendedString
Deprecated: #
- Deprecated the
imageUrlproperty onTooltipsince it is never returned from the API - Deprecated the
codeproperty onApiErrorItem, useerrorCodeinstead
1.1.2 #
1.1.1 #
Fixed #
- Fixed an issue where the iOS implementation of the Flutter SDK could not build due to missing
transitive dependencies. These are now declared in the podspec so they will be downloaded upon
pod install. - Fixed an issue where the metadata in the network calls did not indicate the Flutter SDK correctly.
1.1.0 #
Added #
- Return an error result when attempting to make a Surcharge API call without required arguments.
Sessionnow supports the functionality to retrieve a Currency Conversion Quote.
Changed #
PaymentProductFieldMasker,PaymentProductRequestMasker,AccountOnFileMasker,AccountOnFileCustomMaskedValueRequest,AccountOnFileMaskedValueRequest,PaymentProductFieldMaskRequest,PaymentRequestAllMaskedValuesRequestandPaymentRequestMaskedValueRequesthave been made internal to the SDK. Use the masking functions onAccountOnFile,PaymentProductFieldandPaymentRequestinstead.PaymentRequestValidator,PaymentProductFieldValidator,ValidationRuleValidator,PaymentProductFieldValidationRequest,PaymentRequestRuleValidationRequest,PaymentRequestValidationRequestandValidationRuleValidationRequesthave been made internal to the SDK. Use the validation functions onPaymentProductField,PaymentRequestandValidationRuleinstead.- Improved error handling when
Validatorcannot be decoded by the iOS bridge. - Dependencies have been updated.
Fixed #
- Fixed an issue where an error occurred when using the SDK in combination with a
JAVA_HOMEversion below 17 or an Android Studio Java version of below 17.
Deprecated #
-
stackTraceinNativeExceptionhas been deprecated. Usethrowableinstead. -
linkinPaymentProductFieldDisplayHintshas been deprecated, since this property is never returned from the API.
PaymentProductFieldDisplayHints(bool, bool, int, String?, String, String?, String?, PreferredInputType?, Tooltip?, FormElement?)
constructor has been deprecated. This object should not be initialised, it is initialised
automatically when returned from the API.
1.0.1 #
Fixed #
- Fixed an issue for iOS where using an Account on File without modifying values returned validation errors.
1.0.0 #
Initial release of the Flutter SDK that can be used to connect to the Worldline Online Payment Services Client API. The SDK can only be used on the Android and iOS platforms.