Repository navigation
deprecate(issuing): update-card headers, optional revoke/suspend body - #225
Conversation
…voke and suspend request optional The API no longer documents the return-encrypted-cvv and Encryption-Key headers on the update card endpoint, so CardUpdateHeaders and the headers argument of update_card are deprecated. They keep working when set and will be removed in the next major version. The revoke and suspend card request body is optional in the API, so revoke_card and suspend_card can now be called without a request.
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 4 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:The PR only adds YARD deprecation annotations, makes existing method arguments optional with nil defaults, and adds tests — no new endpoints, persisted data, auth changes, or external integrations are introduced.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…
… and suspend returns
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 7 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:The PR only adds YARD deprecation annotations, makes existing method arguments optional (with nil default), updates documentation and test descriptions, and adjusts a test fixture error code—all non-destructive changes that reuse existing endpoints and code paths without new integrations, persisted data, auth changes, or background processes.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…
🟢 Risk Classification: LOWApproval route: AI Auto-Approval Classification reasons
Operational gates
Files analysed: 7 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:The PR only deprecates YARD documentation, makes existing request body arguments optional (with nil default), and adds tests — no new endpoints, persisted data, auth changes, or external integrations are introduced.
wall-e 2026.06.19-02 · policy 6b4ce2b3b45a…



Summary
The API no longer documents the
return-encrypted-cvvandEncryption-Keyrequest headers on the update card endpoint, and the revoke and suspend card request body is optional. This PR deprecates the headers (they keep working when set) and letsrevoke_cardandsuspend_cardbe called without a request.Verified against the sandbox: update card with and without the deprecated headers (200), suspend and revoke without a request (200, card status updated as expected).
Changes
lib/checkout_sdk/issuing/card_update_headers.rb:CheckoutSdk::Issuing::CardUpdateHeadersmarked@deprecatedin YARD. Will be removed in the next major version.lib/checkout_sdk/issuing/issuing_client.rb:IssuingClient#update_card: theheadersargument is documented as deprecated; the return doc now describes the update card response, includingis_single_useon virtual cards.IssuingClient#revoke_card(card_id, revoke_request = nil)andIssuingClient#suspend_card(card_id, suspend_request = nil): the request is optional; when omitted an empty JSON object is sent.spec/checkout_sdk/issuing/issuing_extras_spec.rb: revoke and suspend with and without a request.spec/checkout_sdk/api_client_spec.rb: a POST without a body sends{}.API Reference
Breaking changes
None. YARD deprecations and optional arguments only; the deprecated headers are still sent when set.
README
No changes needed: the README does not reference these methods or headers.