Skip to content

Feature/int 1595 - Add new Identities module, updated Forward module to manage secrets#307

Closed
david-ruiz-cko wants to merge 8 commits intomasterfrom
feature/INT-1595
Closed

Feature/int 1595 - Add new Identities module, updated Forward module to manage secrets#307
david-ruiz-cko wants to merge 8 commits intomasterfrom
feature/INT-1595

Conversation

@david-ruiz-cko
Copy link
Contributor

This pull request introduces several major enhancements and refactorings to the CheckoutApi library. The main focus is on expanding identity and AML (Anti-Money Laundering) screening features, adding secret management capabilities to the Forward API, and improving code organization by refactoring the Forward-related entities. Below are the most important changes:

Identity and AML Screening Enhancements:

  • Added new clients for identity verification, AML screening, face authentication, ID document verification, and applicant management to the CheckoutApi, making these services directly accessible via the main API class. [1] [2] [3] [4]
  • Introduced the AmlScreeningClient with methods to create and retrieve AML screenings, along with the corresponding request class. [1] [2]

Forward API Secret Management:

  • Added secret management functionality to the ForwardClient, including methods to create, list, update, and delete secrets. New request classes for creating and updating secrets, and a metadata entity for secret information, were also introduced. [1] [2] [3] [4] [5]

Forward API Refactoring and Code Organization:

  • Refactored the Forward API by moving classes from the Requests namespace to a new Entities namespace for better separation of models and requests. This includes headers, method types, network tokens, signatures, and sources. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
  • Updated all usages and imports in request classes to reference the new Entities namespace. [1] [2]

These changes significantly expand the capabilities of the SDK and improve its maintainability and structure.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the SDK with a new Identities module (applicants, identity verification, ID document verification, face authentication, AML screening) and enhances the Forward module by adding secret management and refactoring Forward models into a dedicated Entities namespace.

Changes:

  • Add new Identities clients + request/entities DTOs, and expose them via CheckoutApi.
  • Add Forward secrets CRUD operations (create/list/update/delete) and related request/entity types.
  • Refactor Forward models (sources/signatures/headers/method/etc.) from Forward\Requests\... to Forward\Entities\... and update request DTOs accordingly.

Reviewed changes

Copilot reviewed 48 out of 48 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
test/Checkout/Tests/Identities/IdentityVerification/IdentityVerificationIntegrationTest.php Adds skipped integration coverage for identity verification workflows
test/Checkout/Tests/Identities/IdentityVerification/IdentityVerificationClientTest.php Adds unit tests for identity verification client endpoints
test/Checkout/Tests/Identities/IdDocumentVerification/IdDocumentVerificationIntegrationTest.php Adds skipped integration coverage for ID document verification workflows
test/Checkout/Tests/Identities/IdDocumentVerification/IdDocumentVerificationClientTest.php Adds unit tests for ID document verification client endpoints
test/Checkout/Tests/Identities/FaceAuthentication/FaceAuthenticationIntegrationTest.php Adds skipped integration coverage for face authentication workflows
test/Checkout/Tests/Identities/FaceAuthentication/FaceAuthenticationClientTest.php Adds unit tests for face authentication client endpoints
test/Checkout/Tests/Identities/Applicants/ApplicantsIntegrationTest.php Adds skipped integration coverage for applicant CRUD/anonymize workflows
test/Checkout/Tests/Identities/Applicants/ApplicantsClientTest.php Adds unit tests for applicants client endpoints
test/Checkout/Tests/Identities/AmlScreening/AmlScreeningIntegrationTest.php Adds skipped integration coverage for AML screening workflows
test/Checkout/Tests/Identities/AmlScreening/AmlScreeningClientTest.php Adds unit tests for AML screening client endpoints
test/Checkout/Tests/Forward/ForwardIntegrationTest.php Adds skipped integration coverage for Forward secrets (but currently has broken imports)
test/Checkout/Tests/Forward/ForwardClientTest.php Adds unit tests for Forward secrets CRUD endpoints
lib/Checkout/Identities/IdentityVerification/Requests/IdentityVerificationRequest.php Adds DTO for identity verification creation
lib/Checkout/Identities/IdentityVerification/Requests/IdentityVerificationAttemptRequest.php Adds DTO for identity verification attempts
lib/Checkout/Identities/IdentityVerification/Requests/IdentityVerificationAndOpenRequest.php Adds DTO for “create-and-open” identity verification flow
lib/Checkout/Identities/IdentityVerification/IdentityVerificationClient.php Adds identity verification client implementation
lib/Checkout/Identities/IdDocumentVerification/Requests/IdDocumentVerificationRequest.php Adds DTO for ID document verification creation
lib/Checkout/Identities/IdDocumentVerification/Requests/IdDocumentVerificationAttemptRequest.php Adds DTO for ID document verification attempts
lib/Checkout/Identities/IdDocumentVerification/IdDocumentVerificationClient.php Adds ID document verification client implementation
lib/Checkout/Identities/FaceAuthentication/Requests/FaceAuthenticationRequest.php Adds DTO for face authentication creation
lib/Checkout/Identities/FaceAuthentication/Requests/FaceAuthenticationAttemptRequest.php Adds DTO for face authentication attempts
lib/Checkout/Identities/FaceAuthentication/FaceAuthenticationClient.php Adds face authentication client implementation
lib/Checkout/Identities/Entities/SearchParameters.php Adds shared Identities entity used by AML requests
lib/Checkout/Identities/Entities/DeclaredData.php Adds shared Identities entity for declared personal data
lib/Checkout/Identities/Entities/ClientInformation.php Adds shared Identities entity for UI/client context
lib/Checkout/Identities/Applicants/Requests/ApplicantUpdateRequest.php Adds DTO for applicant updates
lib/Checkout/Identities/Applicants/Requests/ApplicantRequest.php Adds DTO for applicant creation
lib/Checkout/Identities/Applicants/ApplicantsClient.php Adds applicants client implementation
lib/Checkout/Identities/AmlScreening/Requests/AmlScreeningRequest.php Adds DTO for AML screening creation
lib/Checkout/Identities/AmlScreening/AmlScreeningClient.php Adds AML screening client implementation
lib/Checkout/Forward/Requests/UpdateSecretRequest.php Adds DTO for updating Forward secrets
lib/Checkout/Forward/Requests/ForwardRequest.php Updates Forward request DTO to depend on Forward\\Entities models
lib/Checkout/Forward/Requests/DestinationRequest.php Updates DestinationRequest DTO to depend on Forward\\Entities models
lib/Checkout/Forward/Requests/CreateSecretRequest.php Adds DTO for creating Forward secrets
lib/Checkout/Forward/ForwardClient.php Adds secrets CRUD methods to ForwardClient
lib/Checkout/Forward/Entities/Sources/TokenSource.php Moves source model namespace to Forward\\Entities\\Sources
lib/Checkout/Forward/Entities/Sources/SourceType.php Moves source model namespace to Forward\\Entities\\Sources
lib/Checkout/Forward/Entities/Sources/IdSource.php Moves source model namespace to Forward\\Entities\\Sources
lib/Checkout/Forward/Entities/Sources/AbstractSource.php Moves source model namespace to Forward\\Entities\\Sources
lib/Checkout/Forward/Entities/Signatures/SignatureType.php Moves signature model namespace to Forward\\Entities\\Signatures
lib/Checkout/Forward/Entities/Signatures/DlocalSignature.php Moves signature model namespace and updates imports
lib/Checkout/Forward/Entities/Signatures/DlocalParameters.php Moves signature model namespace to Forward\\Entities\\Signatures
lib/Checkout/Forward/Entities/Signatures/AbstractSignature.php Moves signature model namespace to Forward\\Entities\\Signatures
lib/Checkout/Forward/Entities/SecretMetadata.php Adds entity representing secret metadata (currently inconsistent field names)
lib/Checkout/Forward/Entities/NetworkToken.php Moves network token model namespace to Forward\\Entities
lib/Checkout/Forward/Entities/MethodType.php Moves method type model namespace to Forward\\Entities
lib/Checkout/Forward/Entities/Headers.php Moves headers model namespace to Forward\\Entities
lib/Checkout/CheckoutApi.php Exposes new Identities clients from the main API surface

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…rofiles)

OauthScopes update (some case fixes in issuing scopes!!!)
1. Fixed Casing Issues (PHP naming convention):
    issuingClient → IssuingClient
    issuingCardMgmt → IssuingCardMgmt
    issuingControlsRead → IssuingControlsRead
    issuingControlsWrite → IssuingControlsWrite
- AccountsClient update with reserve rules and new methods
- New AccountsClient unit and integration tests
@sonarqubecloud
Copy link

@david-ruiz-cko
Copy link
Contributor Author

Abandoned

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.

3 participants