Skip to content

feat(identities): add Address Document Verification (Adv) endpoints - #444

Merged
armando-rodriguez-cko merged 1 commit into
masterfrom
feat/INT-1665-address-document-verification
Jul 30, 2026
Merged

feat(identities): add Address Document Verification (Adv) endpoints#444
armando-rodriguez-cko merged 1 commit into
masterfrom
feat/INT-1665-address-document-verification

Conversation

@armando-rodriguez-cko

Copy link
Copy Markdown
Contributor

Summary

Adds the new Address Document Verification (Adv) API family introduced in the Checkout.com swagger on 2026-07-16 (INT-1665). This mirrors the existing ID Document Verification client and reuses the identity-verification OAuth scope (no new scope).

Changes

New AddressDocumentVerification client exposing the 7 endpoints, plus request/response models and status enums, wired into the SDK entry point next to IdDocumentVerification:

  • POST /address-document-verifications — create
  • GET /address-document-verifications/{id} — retrieve
  • POST /address-document-verifications/{id}/anonymize — anonymize
  • POST /address-document-verifications/{id}/attempts — create attempt
  • GET /address-document-verifications/{id}/attempts — list attempts
  • GET /address-document-verifications/{id}/attempts/{attemptId} — get attempt
  • GET /address-document-verifications/{id}/pdf-report — PDF report

Request model: applicant_id, user_journey_id, declared_data. Attempt request: document. Responses cover AdvVerificationStatuses / AdvAttemptStates, response_codes, _links and the extracted address_document result.

API Reference

Swagger schemas: AdvAddressDocumentVerification*, AdvAttempt*, AdvAddress, AdvAddressDocumentResult, AdvVerificationStatuses, AdvAttemptStates.

Tests

Unit tests covering all 7 endpoints; integration tests scaffolded (skipped, require sandbox entitlement). Build + tests green locally.

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

- AddressDocumentVerifications class (7 methods) + delegates on Identities
- TypeScript defs (.d.ts) for the class and Identities
- Unit tests (nock) covering all 7 endpoints
@agent-wall-e

agent-wall-e Bot commented Jul 30, 2026

Copy link
Copy Markdown

🟡 Risk Classification: MINOR

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

Classification reasons

  • exceeds_bounded_scope:234>200

Operational gates

  • ✅ jira_ticket (INT-1665)
  • ✅ independent_review

Files analysed: 5


wall-e 2026.06.19-02 · policy 376219bc71e6…

@agent-wall-e

agent-wall-e Bot commented Jul 30, 2026

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 code Kind Clause Meaning
exceeds_bounded_scope234>200 classifying §2.1 M8 More than 200 non-test, non-doc, non-lockfile lines changed.

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-cko
armando-rodriguez-cko merged commit 2d386d2 into master Jul 30, 2026
3 checks passed
@armando-rodriguez-cko
armando-rodriguez-cko deleted the feat/INT-1665-address-document-verification branch July 30, 2026 09:12
david-ruiz-cko added a commit that referenced this pull request Aug 6, 2026
Release 4.1.0 bundles three changes: the Forward secrets path fix (#443, INT-1666), the new Address Document Verification endpoints (#444, INT-1665) and the challenge indicator documentation alignment (#445, INT-1667).

## Forward secrets path fix (behaviour change)

Swagger 2026-07-20 completed the rename of the Forward secrets endpoints. Requests now go to the Forward host root, without the `/forward` prefix:

* Collection endpoints (create, list) moved from `/forward/secrets` to `/secrets`.
* Item endpoints (`PATCH`, `DELETE`) moved from `/forward/secrets/{name}` to `/secrets/{name}`.
* `src/config.js` keeps a single Forward host root (`FORWARD_SANDBOX_URL` / `FORWARD_LIVE_URL`) with no trailing slash, and `ForwardClient` appends the `forward` and `secrets` path segments explicitly, matching every other SDK. Forward request URLs themselves are unchanged.
* Unit tests updated accordingly. (`src/api/forward/forward.js`, `src/config.js`, `test/forward/forward-unit.js`)

Anyone calling the secrets methods will now hit the new paths, so this is worth calling out in the release notes.

## 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.

* New `src/api/identities/address-document-verifications.js`, wired into the identities client. (`src/api/identities/identities.js`)
* TypeScript definitions added. (`types/dist/api/identities/address-document-verifications.d.ts`, `types/dist/api/identities/identities.d.ts`)
* Unit tests under `test/identities/address-document-verifications/`.

## Challenge indicator documentation alignment

Clarifies the allowed values of `3ds.challenge_indicator` per endpoint. No runtime behaviour changes here, only JSDoc plus a new test.

* Documented in `hosted-payments.js`, `payments-links.js`, `payment-sessions.js` and `payments.js` that the field accepts only the four standard values (`no_preference`, `no_challenge_requested`, `challenge_requested`, `challenge_requested_mandate`), and that exemption values are not accepted on these endpoints.
* Documented in `sessions.js` that `challenge_indicator` uniquely accepts all nine values, including exemption requests, and explained the fallback behaviour when an exemption cannot be applied.
* Added `test/sessions/challenge-indicator.js` covering the accepted value sets.
Sign up for free to 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