Refactor properties to nullable types for improved flexibility in authentication models #495
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.



This pull request updates several model classes to improve type safety and better represent optional fields in the authentication and response objects. The main changes involve converting many value-type properties to nullable types, updating collections to use more specific types, and aligning enum and custom type usage. These changes help prevent default value confusion and improve serialization/deserialization, especially for optional API fields.
Type safety improvements for model properties:
Changed various numeric, boolean, and date properties in
AccountInfo,MerchantRiskInfo,ThreeDsRequestorAuthenticationInfo, and related classes to nullable types (long?,bool?,DateTime?, etc.), ensuring that optional fields are accurately represented and preventing unintended default values. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]Updated collection properties from
IList<object>toIList<string>in response classes such asCertificates,GoogleSpa, andThreeds, providing clearer type expectations for serialized data. [1] [2] [3]Custom type and enum usage improvements:
Currency?,CountryCode?) for better validation and type safety inMerchantRiskInfoandMetadata. Also updated enum usage to nullable where appropriate. [1] [2] [3]Constructor and default value handling:
DaysBetweenPaymentsandChannelDataTypeto use nullable types, ensuring optionality is respected and default values are explicit. [1] [2] [3] [4]Miscellaneous improvements:
Response model updates:
GetSessionDetailsResponseOkclass to use more appropriate types for amount, completion flags, and authentication details, improving accuracy and clarity of session responses. [1] [2] [3] [4] [5] [6]