add missing fields in models - #90
Open
cesar-sosa-hol wants to merge 1 commit into
Open
Conversation
# Conflicts: # CHANGELOG.md
cesar-sosa-hol
force-pushed
the
update-models-adding-missing-fields
branch
from
August 11, 2026 14:22
0fc5f99 to
bb2ef51
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Models Changes
Summary of model and mapper updates across Android, iOS, and Flutter to better align with the native Mobile Payments SDK APIs.
Android
OnlineCardPaymentDetails
Added the following missing fields:
appliedCardSurchargeDetailsverificationMethodverificationResultsAdded extension methods to convert these values to strings or maps. Updated the Dart models to accept the new fields.
OnlinePayment
Added the following missing fields:
capabilitiesreceiptUrlAdded an extension to map
capabilitiesto a map.Also introduced a
typefield that discriminates betweenOnlinePaymentandOfflinePayment. On the Dart side,Paymentis now a sealed class withOnlinePaymentandOfflinePaymentvariants.Updated the Dart
Paymentmodels to receive the new fields.For capabilities, added a Dart
PaymentCapabilitiesclass withcanEditTipDown,canEditTipUp,canEditAmountDown, andcanEditAmountUp(following the AndroidCapabilitiespattern).PaymentProcessingFee
Fixed incorrect mapping:
PaymentProcessingFee.Typewas passed through without conversion. Added an extension to convert the type to a string.PaymentParameters
processingModewas incorrectly typed as a number. It should be an enum and must be sent to native as a string.allowCardSurchargedefaulted tofalse; per documentation the default should betrue.Added the following missing fields:
acceptPartialAuthorizationcustomerIdlocationIdteamMemberIdstatementDescriptionUpdated the Dart models:
ProcessingModeis now an enum, andPaymentParametersincludes the new properties.ReaderInfo
Added the missing
connectionTypeproperty and an extension to convert it to a string. Added a new Dart enumReaderConnectionType.Replaced the inline firmware info map with a dedicated
ReaderFirmwareInfoextension that converts to a map.Added two missing
ReaderFirmwareInfofields and extensions to convert them to strings:updateStatusupdateTimeUpdated the Dart models for:
connectionTypefirmwareInfo.updateStatusfirmwareInfo.updateTimeiOS
PaymentParameters
Fixed incorrect mapping for
delayAction: values were uppercased, but the switch cases remained lowercase.As on Android,
processingModeis now an enum and is sent to native as a string. Added a mapper for the string form ofprocessingMode.Added the following missing fields:
acceptPartialAuthorizationallowCardSurchargecustomerIdlocationIdteamMemberIdstatementDescriptionOfflinePayment
Added the missing
cashDetailsfield.Added an extension to map
cashDetailsto a map. Updated the Dart model to receive the new field.OnlinePayment
Added the following missing fields:
customerIDteamMemberIDnotestatuscashDetailsAdded an extension to convert
statusto a string. Updated the Dart models to receive the new fields.CardPaymentDetails
Added the missing
appliedCardSurchargeDetailsfield.Added an extension to map
appliedCardSurchargeDetailsto a map. Updated the Dart model to receive the new field.ReaderInfo
Added the following missing fields:
connectionTypeisRebootableAdded an extension to convert
connectionTypeto a string. Updated the Dart models to receive the new fields.ReaderStatusInfo
Added the following missing fields:
unavailableReasonTitleunavailableReasonDetailUpdated the Dart model to receive the new fields.
ReaderFirmwareInfo
Added the following missing fields:
updateStatusupdateTimeAdded an extension to convert
updateStatusto a string. Updated the Dart model to receive the new fields.Flutter (Dart models)
Enums
New enums:
VerificationMethodVerificationResultProcessingFeeTypeReaderConnectionTypeFirmwareUpdateStatusAdditionalPaymentMethodType
Added the missing
tapToPayvalue. iOS expects this option inPaymentMapper.getAdditionalPaymentMethod(from:).PaymentStatus
Added iOS-only values that could be returned from native:
initializedpendingModels
New models:
CardSurchargeDetailsCashPaymentDetailsPaymentCapabilitiesPaymentProcessingFeeMoney
amountis now required. It was previously optional, but native APIs expect a non-null amount.Card
Added the missing
binfield (sent by native, previously ignored in Dart).OfflineCard
Added the missing fields:
binexpirationMonthexpirationYearPaymentParameters
Changed
acceptPartialAuthorizationfrominttobool.