Skip to content

feat!: define checkout payment finality and order reporting - #816

Open
paulcarey-stripe wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
paulcarey-stripe:feat/checkout-payment-finality
Open

feat!: define checkout payment finality and order reporting#816
paulcarey-stripe wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
paulcarey-stripe:feat/checkout-payment-finality

Conversation

@paulcarey-stripe

Copy link
Copy Markdown

Description

Implements Enhancement Proposal #815 by allowing Checkout totals to be final or provisional, recording the maximum amount approved by the Buyer, and carrying that amount onto the resulting Order. It also reports current authorization and total captured amounts separately on Order payment instruments, while keeping credentials and Checkout routing fields out of Order responses.

This branch builds on, and overlaps semantically with #584.

Category (Required)

  • Core Protocol: Changes to the base communication layer, global context, or breaking refactors. (Requires Technical Council approval)
  • Governance/Contributing: Updates to GOVERNANCE.md, CONTRIBUTING.md, or CODEOWNERS. (Requires Governance Council approval)
  • Capability: New schemas (Discovery, Cart, etc.) or extensions. (Requires Maintainer approval)
  • [] Documentation: Updates to README, or documentations regarding schema or capabilities. (Requires Maintainer approval)
  • Infrastructure: CI/CD, Linters, or build scripts. (Requires DevOps Maintainer approval)
  • Maintenance: Version bumps, lockfile updates, or minor bug fixes. (Requires DevOps Maintainer approval)
  • SDK: Language-specific SDK updates and releases. (Requires DevOps Maintainer approval)
  • Samples / Conformance: Maintaining samples and the conformance suite. (Requires Maintainer approval)
  • UCP Schema: Changes to the ucp-schema tool (resolver, linter, validator). (Requires Maintainer approval)
  • Community Health (.github): Updates to templates, workflows, or org-level configs. (Requires DevOps Maintainer approval)

Related Issues

Corresponding proposal: #815
Builds on and overlaps with: #584

Checklist

  • I have followed the Contributing Guide (including Conventional Commits title requirements and ! for breaking changes).
  • I have updated the documentation (if applicable).
  • My changes pass all local linting and formatting checks.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • (For Core/Capability) I have included/updated the relevant JSON schemas.
  • I have regenerated Python Pydantic models by running generate_models.sh under python_sdk.

Screenshots / Logs (if applicable)

NA

Allow a Business to mark the aggregate Checkout total as final or provisional. Provisional totals require the maximum amount approved by the Buyer; final totals use the aggregate total. Carry that amount onto the Order and include it in the AP2 mandate.

Report current authorization and total captured amounts separately on Order payment instruments. Keep Checkout credentials, routing, and selection fields out of the Order representation, and preserve the selected-instrument requirements for Split Payments.
@google-cla

google-cla Bot commented Sep 9, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:needs-triage Signal that the PR is ready for human triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants