Skip to content

fix(payments): align PaymentSetups confirm param with the spec - #235

Merged
armando-rodriguez-cko merged 1 commit into
mainfrom
fix/INT-1669-payment-setups-alignment
Sep 10, 2026
Merged

fix(payments): align PaymentSetups confirm param with the spec#235
armando-rodriguez-cko merged 1 commit into
mainfrom
fix/INT-1669-payment-setups-alignment

Conversation

@armando-rodriguez-cko

Copy link
Copy Markdown
Contributor

Summary
The PaymentSetups confirm endpoint's path parameter was named payment_method_option_id, a name that does not exist in the API and so could never work against the server. Renamed to payment_method_name, matching the real path POST /payments/setups/{id}/confirm/{payment_method_name}. Also corrected the (currently skipped) confirm integration test, whose expected response fields modeled a payments-charge shape (action_id/processed_on) instead of the actual PaymentSetup response the endpoint returns.

Changes

  • checkout_sdk/payments/setups/setups_client.pyconfirm_payment_setup() param renamed payment_method_option_idpayment_method_name (signature, path build)
  • tests/payments/setups/payment_setups_client_test.py — updated confirm test to use the correct param name
  • tests/payments/setups/payment_setups_integration_test.py — renamed var and corrected the confirm response's expected fields to the PaymentSetup shape

Verified separately: the create/update request already models billing_descriptor, presentment_details, terminal, and this client has no typed response models to misalign (responses are dynamic/raw), so no further changes were needed for those.

API Reference

  • POST /payments/setups/{id}/confirm/{payment_method_name}

Breaking changes
None — the old parameter name never worked against the real API, so no working caller can regress.

README
No README changes needed.

…h param

The confirm_payment_setup path param was named payment_method_option_id,
which is not a valid API concept. The real path is
/payments/setups/{id}/confirm/{payment_method_name}, so the param and its
usage in URL building are renamed accordingly. Also aligns the (currently
skipped) integration test's expected confirm response fields with the full
PaymentSetup schema, which is what the confirm endpoint actually returns.
@armando-rodriguez-cko
armando-rodriguez-cko requested a review from a team September 9, 2026 10:22
@agent-wall-e

agent-wall-e Bot commented Sep 9, 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 is a pure parameter rename in an existing function signature and path construction, reusing the same endpoint and code path with no new integrations, data persistence, or auth changes.

Operational gates

  • ✅ jira_ticket (INT-1669)
  • ✅ independent_review

Files analysed: 3


wall-e 2026.06.19-02 · policy 376219bc71e6…

@agent-wall-e

agent-wall-e Bot commented Sep 9, 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 is a pure parameter rename in an existing function signature and path construction, reusing the same endpoint and code path with no new integrations, data persistence, or auth changes. 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 Sep 9, 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 is a pure parameter rename to align a broken path parameter with the actual API spec, reusing existing code paths and abstractions without any new endpoints, persistence, auth changes, or external integrations.

wall-e 2026.06.19-02 · policy 376219bc71e6…

@armando-rodriguez-cko
armando-rodriguez-cko merged commit f39b036 into main Sep 10, 2026
4 checks passed
@armando-rodriguez-cko
armando-rodriguez-cko deleted the fix/INT-1669-payment-setups-alignment branch September 10, 2026 10:03
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