feat: add InstrumentDocumentType with bank_statement - #194
Conversation
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 3 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 |
Reported internally against the PHP SDK; the same gap exists here. Verified in the spec, where PlatformsPaymentInstrumentBankAccount.document.type is a single-value enum accepting only bank_statement, which is also its default. Kept as its own module rather than added to DocumentType. That one lists identity documents, and the API models the bank account document type separately, so putting bank_statement there would offer it where the API rejects it. One spec asserts bank_statement is NOT in DocumentType, which is what stops the two being merged the next time someone reports it missing from the identity enum. 574 examples green, rubocop clean. Refs INT-1691.
8f4b2d4 to
ebdc8fd
Compare
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 3 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 |
|
There was a problem hiding this comment.
✅ Auto-approved — this PR meets all Low-risk criteria.
All checks passed, no unresolved comments, and the change classification is:
no_low_class_matchedprod_source_modified2.2.6_logical_extension:Purely additive new constant module and spec mirroring an existing pattern (DocumentType), with no new endpoints, persisted data, auth changes, or external integrations.
wall-e 2026.06.19-02 · policy 376219bc71e6…



What
Adds
InstrumentDocumentTypewith the single valuebank_statement, the document type for the bank account behind a platforms payment instrument.Reported internally: the value is documented in the API reference but missing from the SDK, and it is blocking a merchant. Verified against the spec, where that document type is a single-value enum whose only accepted value (and default) is
bank_statement.Why a separate type instead of adding the value to the existing document type
The existing document type lists identity documents (passport, national identity card, driving license) and is used for entity onboarding. The API models the bank account document type as its own enum. Adding
bank_statementalongside the identity values would offer it in every place the API rejects it, and would equally suggest the identity values are accepted on an instrument document, where they are not.Tests
One of the tests asserts
bank_statementis not in the identity document type. That is deliberate: it is what stops the two being merged the next time someone reports the value as missing from the identity enum.Not breaking
Purely additive. No existing constant, field or signature changes.
Refs INT-1691.