5.3.0
Release 5.3.0 (#358)
This pull request introduces several improvements and clarifications to the 3DS challenge indicator and related enums used in session and payment APIs. The main focus is on separating the values specific to session requests from those used in payment flows, improving documentation, and ensuring backwards compatibility. Additionally, related enums are updated for clarity and consistency, and comprehensive tests are added to verify correct serialization and deprecation handling.
Key changes:
3DS Challenge Indicator Improvements
- Introduced a new
SessionChallengeIndicatorTypeclass with clear documentation and nine explicit values, including exemption values, for use only with session requests (POST /sessions). This separates session-specific values from those used in payments. - Updated
ChallengeIndicatorTypeinCheckout\Commonto clarify that five exemption values are deprecated and only accepted by sessions, not by payments or hosted payments. Documentation is improved and deprecation tags are added for these values. - Updated
SessionRequestto useSessionChallengeIndicatorTypefor thechallenge_indicatorproperty, with improved docblocks and default value assignment. [1] [2] [3]
Related Enum and Property Updates
- Updated
Category,SessionScheme, andTransactionTypeenums with improved documentation, consistent naming, and added or corrected values (e.g.,non_payment,quasi_card_transaction, new schemes likediscoverandupi). [1] [2] [3]
Test Improvements
- Added a comprehensive test class,
ChallengeIndicatorSerializationTest, to verify that all challenge indicator values are exposed, correctly serialized, and properly marked as deprecated where appropriate. - Updated integration tests to use the new
SessionChallengeIndicatorTypefor session requests. [1] [2] [3] [4] [5]
These changes clarify the intended usage of challenge indicator values, improve maintainability, and ensure that the SDK aligns with API expectations and best practices.