Skip to content

feat(payments): add scheme_transaction_link_id to ProcessingData - #192

Merged
armando-rodriguez-cko merged 1 commit into
masterfrom
feat/INT-1686-scheme-transaction-link-id
Aug 7, 2026
Merged

feat(payments): add scheme_transaction_link_id to ProcessingData#192
armando-rodriguez-cko merged 1 commit into
masterfrom
feat/INT-1686-scheme-transaction-link-id

Conversation

@armando-rodriguez-cko

Copy link
Copy Markdown
Contributor

Summary

Adds processing.scheme_transaction_link_id (the Mastercard Transaction Link Identifier) to the response-side ProcessingData model. The field was already exposed on the request side (ProcessingSettings) but not on the response, so merchants could send it and never read it back (INT-1686, Mastercard mandate deadline 2026-10-23).

With this the Ruby model covers the swagger ProcessingData schema in full.

Changes

  • lib/checkout_sdk/payments/processing_data.rb — added the scheme_transaction_link_id accessor; replaced the summary comment with per-attribute YARD documentation for all 29 attributes, carrying the swagger descriptions and constraints (locale pattern and length, partner_code pattern, preferred_scheme and pan_type_processed enum values)
  • spec/checkout_sdk/payments/processing_data_spec.rb — new spec: covers every attribute of the schema, the accommodation and airline collections, and the all-nil default state

API Reference

  • GET /payments/{id}PaymentDetails.processing (ProcessingData schema)

Breaking changes

None. One new optional response attribute plus documentation.

README

No impact. The README does not document individual response fields.

The Mastercard Transaction Link Identifier was already on the request side
(ProcessingSettings) but missing from the response model, so the value was
not reachable from a payment details response.
@agent-wall-e

agent-wall-e Bot commented Aug 6, 2026

Copy link
Copy Markdown

🟢 Risk Classification: LOW

Approval route: AI Auto-Approval
Rollback controls: Automated Instant Rollback + feature flags

Classification reasons

  • no_low_class_matched
  • prod_source_modified
  • 2.2.6_logical_extension:The change only adds a new optional accessor to an existing response model and corresponding tests, reusing existing abstractions without new endpoints, persistence, auth changes, or external integrations.

Operational gates

  • ✅ jira_ticket (INT-1686)
  • ✅ independent_review

Files analysed: 2


wall-e 2026.06.19-02 · policy 376219bc71e6…

@agent-wall-e

agent-wall-e Bot commented Aug 6, 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
no_low_class_matched informational §2.2 (fall-through) None of the deterministic Low classes (§2.2.3, §2.2.4, §2.2.7, docs-only) applied; classifier fell through to LLM evaluation.
prod_source_modified informational §2.1 M7 (informational) At least one file is non-doc, non-test, non-IaC — i.e. application source code was modified.
2.2.6_logical_extensionThe change only adds a new optional accessor to an existing response model and corresponding tests, reusing existing abstractions without new endpoints, persistence, auth changes, or external integrations. classifying §2.2.6 Sonnet 4.6 evaluator promoted minor → low: the change reuses existing code paths and does not cross a trust boundary.

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

sonarqubecloud Bot commented Aug 6, 2026

Copy link
Copy Markdown

@agent-wall-e agent-wall-e Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Auto-approved — this PR meets all Low-risk criteria.

All checks passed, no unresolved comments, and the change classification is:

  • no_low_class_matched
  • prod_source_modified
  • 2.2.6_logical_extension:The change only adds a new optional accessor to an existing response model and corresponding specs, reusing existing abstractions without new endpoints, persistence, auth changes, or external integrations.

wall-e 2026.06.19-02 · policy 376219bc71e6…

@armando-rodriguez-cko
armando-rodriguez-cko merged commit b4b59ed into master Aug 7, 2026
8 of 11 checks passed
@armando-rodriguez-cko
armando-rodriguez-cko deleted the feat/INT-1686-scheme-transaction-link-id branch August 7, 2026 08:53
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