Skip to content

feat: define recipient-required gift checkout - #508

Open
seungy0 wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
seungy0:gift-shopping-draft
Open

feat: define recipient-required gift checkout#508
seungy0 wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
seungy0:gift-shopping-draft

Conversation

@seungy0

@seungy0 seungy0 commented Jun 11, 2026

Copy link
Copy Markdown

Summary

Adds a Checkout-only Gift extension for purchases sent to another person.

A Platform requests this flow with:

{
  "gift": {
    "recipient_required": true
  }
}

gift: {} is a no-op. recipient_required: true means the Business must have a selected, eligible recipient before it accepts Complete Checkout. It does not define how the recipient is selected or where that UI is shown.

The Business keeps the selection as private state bound to the Checkout. gift.recipient is response-only and contains only a buyer-facing display name:

{
  "gift": {
    "recipient_required": true,
    "recipient": {
      "display": {
        "name": "Mom"
      }
    }
  }
}

This extension does not expose or accept recipient IDs, selection tokens, friend lists, contact data, or addresses.

Flow

  • If buyer interaction is needed, the Business uses the existing escalation flow and continue_url.
  • The buyer may log in and choose a recipient in the Business experience. Returning from that experience is not proof that a selection was made; the Platform reads the Checkout again.
  • An Update must include recipient_required: true to retain the Gift request. Omitting it clears the Business private recipient selection.
  • Complete omits gift. The Business revalidates and freezes the selection before creating payment or order effects.

Scope

This does not define recipient search, reusable recipient handles, multi-recipient checkout, messages or cards, acceptance, scheduling, or recipient data in Orders or events.

@seungy0
seungy0 requested review from a team as code owners June 11, 2026 08:12
@seungy0
seungy0 force-pushed the gift-shopping-draft branch 3 times, most recently from 78f940b to d3d227e Compare June 11, 2026 08:31
@damaz91

damaz91 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Hello @seungy0, thanks for your contribution to UCP. This does not seem just a documentation PR as the title would suggest. Seems like you are trying to propose a new extension.

This probably would entail a schema change as well. Please add it in the PR so we can move forward with the review.

Thanks.

@damaz91 damaz91 added status:needs-triage Signal that the PR is ready for human triage status:stale Applied when PR is waiting for author response for 30 days status:blocked and removed status:needs-triage Signal that the PR is ready for human triage status:stale Applied when PR is waiting for author response for 30 days gov:needs-gc-review labels Jul 14, 2026
@seungy0 seungy0 changed the title docs: add gift extension draft feat: add gift checkout extension schema Jul 27, 2026
@seungy0
seungy0 force-pushed the gift-shopping-draft branch from 7cd9b1b to 7a37de5 Compare July 30, 2026 01:31
@seungy0 seungy0 changed the title feat: add gift checkout extension schema feat: define business-hosted gift recipient selection Jul 30, 2026
@seungy0
seungy0 force-pushed the gift-shopping-draft branch from 7a37de5 to 1c903cd Compare July 30, 2026 02:18
@seungy0 seungy0 changed the title feat: define business-hosted gift recipient selection feat: define recipient-required gift checkout Jul 30, 2026
@seungy0
seungy0 force-pushed the gift-shopping-draft branch from 1c903cd to aaaf31a Compare July 30, 2026 04:11
@seungy0
seungy0 force-pushed the gift-shopping-draft branch from aaaf31a to 3422b32 Compare July 30, 2026 10:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants