Skip to content

feat(payments): add fallback_source_used to PaymentProcessing and complete ProcessingData JavaDoc - #646

Open
armando-rodriguez-cko wants to merge 1 commit into
masterfrom
feat/INT-1685-payment-response-processing
Open

feat(payments): add fallback_source_used to PaymentProcessing and complete ProcessingData JavaDoc#646
armando-rodriguez-cko wants to merge 1 commit into
masterfrom
feat/INT-1685-payment-response-processing

Conversation

@armando-rodriguez-cko

Copy link
Copy Markdown
Contributor

Summary

POST /payments returns PaymentResponse.processing, an inline schema distinct from the ProcessingData schema returned by GET /payments/{id}. The Java model for the former (PaymentProcessing) was complete except for fallback_source_used, which this PR adds (INT-1685).

While auditing both models, ProcessingData turned out to have JavaDoc on only its last nine properties. The other 23 are documented here from the swagger, so the class is complete per the review-integrity doc-comment rule.

Changes

  • src/main/java/com/checkout/payments/PaymentProcessing.java — added fallbackSourceUsed
  • src/main/java/com/checkout/payments/response/ProcessingData.java — JavaDoc for the 23 previously undocumented properties, including descriptions, constraints (locale pattern and length, pan_type_processed enum values) and a note on the properties that are not in the public spec but are kept for backward compatibility
  • src/test/java/com/checkout/payments/PaymentProcessingSerializationTest.javafallback_source_used added to the full swagger-example test, plus a dedicated deserialization test and a round-trip test

API Reference

  • POST /paymentsPaymentResponse.processing (inline schema)
  • GET /payments/{id}PaymentDetails.processing (ProcessingData schema, documentation only)

Breaking changes

None. One new optional response property, plus documentation.

README

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

…ument ProcessingData

PaymentResponse.processing declares fallback_source_used but the model lacked it.
Also completes the JavaDoc of the 23 undocumented ProcessingData properties, which
the class had been missing since it was introduced.
@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 PR only adds one new optional Boolean field to an existing model class, adds JavaDoc comments to existing fields, and adds corresponding serialization tests — no new endpoints, persisted data, auth changes, external integrations, or background processes are introduced.

Operational gates

  • ✅ jira_ticket (INT-1685)
  • ✅ independent_review

Files analysed: 3


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 PR only adds one new optional Boolean field to an existing model class, adds JavaDoc comments to existing fields, and adds corresponding serialization tests — no new endpoints, persisted data, auth changes, external integrations, or background processes are introduced. 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 PR only adds one new optional Boolean field to an existing model class and JavaDoc comments to existing fields, with corresponding serialization tests — no new endpoints, persistence, auth changes, or external integrations are introduced.

wall-e 2026.06.19-02 · policy 376219bc71e6…

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