Skip to content

Release 3.12.0 - Address Document Verification endpoints + sessions enum alignment - #225

Merged
david-ruiz-cko merged 1 commit into
mainfrom
release/3.12.0
Aug 6, 2026
Merged

Release 3.12.0 - Address Document Verification endpoints + sessions enum alignment#225
david-ruiz-cko merged 1 commit into
mainfrom
release/3.12.0

Conversation

@david-ruiz-cko

@david-ruiz-ckodavid-ruiz-cko commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Release 3.12.0 bundles two changes: the new Address Document Verification endpoints (#223, INT-1665) and the sessions enum alignment with the API spec (#224, INT-1667).

Address Document Verification (Adv) endpoints

Implements the Adv family from swagger 2026-07-16: POST/GET /address-document-verifications, anonymize, attempts (create, list, get) and pdf-report. Reuses the identity-verification scope.

  • New AddressDocumentVerificationClient with 7 methods. (checkout_sdk/identities/addressdocumentverification/addressdocumentverification_client.py)
  • New AddressDocumentVerificationRequest and AddressDocumentVerificationAttemptRequest models. (checkout_sdk/identities/addressdocumentverification/addressdocumentverification.py)
  • Exposed on CheckoutApi via the identity API client. (checkout_sdk/checkout_api.py)
  • Client tests under tests/identities/addressdocumentverification/.

Enum and API spec alignment for sessions

  • Updated the SessionChallengeIndicator and ChallengeIndicator enums to clearly document and enforce their distinct value sets, separating the exemption values for /sessions from the four-value set used in payments endpoints. (checkout_sdk/common/enums.py, checkout_sdk/sessions/sessions.py)
  • Corrected the ThreeDsMethodCompletion enum to use uppercase values ('Y', 'N', 'U') as required by the API.
  • Expanded the SessionScheme enum with the missing 'discover' and 'upi' values.
  • Replaced the incorrect single-value ShippingIndicator enum with all seven spec-compliant values, making MerchantRiskInfo.shipping_indicator usable.

Test coverage and guardrails

  • tests/sessions/challenge_indicator_serialization_test.py verifies the enums expose the correct values, serialize as expected, and that exemption values are not accepted where unsupported.
  • tests/sessions/session_request_serialization_test.py ensures all SessionRequest attributes serialize correctly, including defaults and nested objects.
  • tests/sessions/sessions_enums_test.py systematically checks that all session enums match the API spec, with the correct casing and full value coverage.

@david-ruiz-cko
david-ruiz-cko requested a review from a teamAugust 6, 2026 08:30
@agent-wall-e

Copy link
Copy Markdown

🟡 Risk Classification: MINOR

Approval route: AI Review + Human Approval
Rollback controls: Staged rollout + rollback

Classification reasons

  • no_low_class_matched
  • prod_source_modified

Operational gates

  • ✅ jira_ticket
  • ✅ independent_review

Files analysed: 1


wall-e 2026.06.19-02 · policy 376219bc71e6…

@agent-wall-e

Copy link
Copy Markdown
🔬 Debug — why this classification?

Each reason code emitted by the classifier, its source clause in the AI in SDLC Control Framework, and what it means.

Reason codeKindClauseMeaning
no_low_class_matchedinformational§2.2 (fall-through)None of the deterministic Low classes (§2.2.3, §2.2.4, §2.2.7, docs-only) applied; classifier fell through to LLM evaluation.
prod_source_modifiedinformational§2.1 M7 (informational)At least one file is non-doc, non-test, non-IaC — i.e. application source code was modified.

Kinds:

  • classifying — this rule contributed to the chosen tier.
  • informational — context only; did not by itself decide the tier.

See issue #3 for the proposal to formalise this map as Appendix A of the standards doc.

wall-e 2026.06.19-02 · debug

@sonarqubecloud

Copy link
Copy Markdown

@armando-rodriguez-ckoarmando-rodriguez-cko changed the title Release 3.12.0 - ChallengeIndicator/SessionChallengeIndicator enum alignment - #224Release 3.12.0 - Address Document Verification endpoints + sessions enum alignmentAug 6, 2026
@david-ruiz-cko
david-ruiz-cko merged commit 6883392 into mainAug 6, 2026
4 checks passed
@david-ruiz-cko
david-ruiz-cko deleted the release/3.12.0 branch August 6, 2026 10:38
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@david-ruiz-cko@armando-rodriguez-cko