feature/INT-1701 - Representative documents alignment - #680
david-ruiz-cko wants to merge 9 commits into
Conversation
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 46 wall-e 2026.06.19-02 · policy |
🔬 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.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
🔵 Advisory review: Sound, but needs your judgementThis PR needs a human approval. The code itself reads as correct; whether it should land depends on context I don't have. This PR adds JavaDoc across the accounts package, new document types (CertifiedAuthorisedSignatory, ProofOfResidentialAddress, ProofOfRegistration, EntityProcessingDetails), new enum values in AccountsFilePurpose, fixes two type mismatches (TaxVerification.type was CompanyVerificationType, CompanyVerification.type was TaxVerificationType), adds new fields (EntityEmailAddresses.pciComplianceContact, Representative.company, OnboardEntityDetailsResponse.processingDetails/documents), and deprecates several unused fields. The changes are structurally sound but carry API contract implications a human must verify. For you to decide
This is not an approval. wall-e cannot auto-approve this PR — it is an opinion to help whoever does. Advisory review · us.anthropic.claude-sonnet-4-6 · wall-e 2026.06.19-02 |
| final IdResponse identityFile = submitAccountsFile(checkoutApi, AccountsFilePurpose.IDENTITY_VERIFICATION); | ||
| final IdResponse signatoryFile = submitAccountsFile(checkoutApi, AccountsFilePurpose.CERTIFIED_AUTHORISED_SIGNATORY); | ||
|
|
||
| final OnboardEntityRequest request = buildCompanyEntityV3(RandomStringUtils.random(15, true, true)); |
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 50 wall-e 2026.06.19-02 · policy |
🔬 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.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
| /** | ||
| * Creates a file upload request. | ||
| * | ||
| * @param file the file to upload (JPEG, PNG or PDF) |
| * Creates a file upload request. | ||
| * | ||
| * @param file the file to upload (JPEG, PNG or PDF) | ||
| * @param contentType the file's content type; for PDF use |
| * @param file the file to upload (JPEG, PNG or PDF) | ||
| * @param contentType the file's content type; for PDF use | ||
| * {@code ContentType.create("application/pdf")} | ||
| * @param purpose the purpose of the file upload |
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 53 wall-e 2026.06.19-02 · policy |
🔬 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.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 54 wall-e 2026.06.19-02 · policy |
🔬 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.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
🟡 Risk Classification: MINORApproval route: AI Review + Human Approval Classification reasons
Operational gates
Files analysed: 55 wall-e 2026.06.19-02 · policy |
🔬 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.
Kinds:
See issue #3 for the proposal to formalise this map as Appendix A of the standards doc. wall-e 2026.06.19-02 · debug |
|
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") | ||
| .lastName("Doe") | ||
| .dateOfBirth(DateOfBirth.builder().day(5).month(6).year(1995).build()) | ||
| .phone(AccountPhone.builder().number("2072345678").build()) | ||
| .address(Address.builder() | ||
| .addressLine1("90 Tottenham Court Road") | ||
| .city("London") | ||
| .zip("W1T 4TJ") | ||
| .country(CountryCode.GB) | ||
| .build()) | ||
| .placeOfBirth(PlaceOfBirth.builder().country(CountryCode.FR).build()) | ||
| .identification(Identification.builder().nationalIdNumber("AB123456C").build()) |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") | ||
| .lastName("Doe") | ||
| .dateOfBirth(DateOfBirth.builder().day(5).month(6).year(1995).build()) | ||
| .phone(AccountPhone.builder().number("2072345678").build()) | ||
| .address(Address.builder() | ||
| .addressLine1("90 Tottenham Court Road") | ||
| .city("London") | ||
| .zip("W1T 4TJ") | ||
| .country(CountryCode.GB) | ||
| .build()) | ||
| .placeOfBirth(PlaceOfBirth.builder().country(CountryCode.FR).build()) |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") | ||
| .lastName("Doe") | ||
| .dateOfBirth(DateOfBirth.builder().day(5).month(6).year(1995).build()) | ||
| .phone(AccountPhone.builder().number("2072345678").build()) | ||
| .address(Address.builder() | ||
| .addressLine1("90 Tottenham Court Road") | ||
| .city("London") | ||
| .zip("W1T 4TJ") | ||
| .country(CountryCode.GB) | ||
| .build()) |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") | ||
| .lastName("Doe") | ||
| .dateOfBirth(DateOfBirth.builder().day(5).month(6).year(1995).build()) | ||
| .phone(AccountPhone.builder().number("2072345678").build()) |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") | ||
| .lastName("Doe") | ||
| .dateOfBirth(DateOfBirth.builder().day(5).month(6).year(1995).build()) |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") | ||
| .lastName("Doe") |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") | ||
| .middleName("Paul") |
| final Representative representative = Representative.builder() | ||
| .id("rep_r2y49v5j1skna5zx0swaprf2he") | ||
| .firstName("John") |



This pull request significantly improves the documentation and clarity of the Accounts API SDK by adding detailed JavaDoc comments to many classes, enums, and fields. It also introduces new document types and classes to support additional onboarding and verification requirements. The changes enhance maintainability and make the codebase much easier to understand for developers integrating with the API.
The most important changes are:
Documentation and Clarity Improvements:
com.checkout.accountspackage, explaining their purpose, usage, and field requirements. This includes details on required fields, expected formats, and API variant differences. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]API Surface and Document Type Expansions:
CertifiedAuthorisedSignatory,CertifiedAuthorisedSignatoryType, and new values inAccountsFilePurpose(e.g.,ADDITIONAL_DOCUMENT,ARTICLES_OF_ASSOCIATION, etc.). [1] [2] [3]FinancialStatementsTypevs.FinancialVerificationType). [1] [2] [3] [4] [5]API Method Documentation:
AccountsClientinterface methods (both async and sync), describing the purpose, parameters, and return values for file upload and retrieval operations. [1] [2]Field and Requirement Clarifications:
Deprecation Notices:
documentfield inIdentification, indicating it is not read by the API and will be removed in a future major version.