online_payments_sdk 2.1.0
online_payments_sdk: ^2.1.0 copied to clipboard
A Flutter package to communicate with the Online Payments platform
2.1.0 #
Changed: #
- Updated
freezed
dependency 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
validateValue
method which is thePaymentProduct
instance, 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:
code
fromApiErrorItem
,stackTrace
fromNativeException
,link
fromPaymentProductFieldDisplayHints
, andimageUrl
fromTooltip
.
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
SdkBridge
into 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_case
naming convention. - Moved misplaced files (e.g.
session.dart
, masking logic, validators) to appropriate locations within the project. - Removed the
Context
parameter from the individualSession
method calls, now passed via theSession
constructor. - Updated the
MethodChannel
implementation to support new Android SDK interface. - Renamed the
ValidationType
toType
enum for the validation rule deserialization compatibility. - Renamed the
validationType
field totype
in thepayment_product_response.json
test 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
label
property 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
,propertyName
andretriable
. 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
’slabel
property now returns its masked value or an emptyString
if no mask if found, Previous it could possible return an appendedString
Deprecated: #
- Deprecated the
imageUrl
property onTooltip
since it is never returned from the API - Deprecated the
code
property onApiErrorItem
, useerrorCode
instead
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.
Session
now supports the functionality to retrieve a Currency Conversion Quote.
Changed #
PaymentProductFieldMasker
,PaymentProductRequestMasker
,AccountOnFileMasker
,AccountOnFileCustomMaskedValueRequest
,AccountOnFileMaskedValueRequest
,PaymentProductFieldMaskRequest
,PaymentRequestAllMaskedValuesRequest
andPaymentRequestMaskedValueRequest
have been made internal to the SDK. Use the masking functions onAccountOnFile
,PaymentProductField
andPaymentRequest
instead.PaymentRequestValidator
,PaymentProductFieldValidator
,ValidationRuleValidator
,PaymentProductFieldValidationRequest
,PaymentRequestRuleValidationRequest
,PaymentRequestValidationRequest
andValidationRuleValidationRequest
have been made internal to the SDK. Use the validation functions onPaymentProductField
,PaymentRequest
andValidationRule
instead.- Improved error handling when
Validator
cannot 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_HOME
version below 17 or an Android Studio Java version of below 17.
Deprecated #
-
stackTrace
inNativeException
has been deprecated. Usethrowable
instead. -
link
inPaymentProductFieldDisplayHints
has 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.