Proposal: Standardized payment_handler for In-Store Payments (ROPIS) #225
nicolasgarnier
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hey everyone,
I’ve been looking into how UCP handles local inventory and ROPIS (Reserve Online, Pick Up In Store) flows. A lot of local merchants rely heavily on their POS systems to handle reservations where the customer secures the item online but actually pays at the physical register.
Right now, there isn't a standardized way to handle this zero-dollar reservation flow. A merchant or POS provider could technically just define their own custom payment handler in their manifest (like
com.posprovider.in_store_payment).The problem is that if everyone rolls their own custom namespace, we're going to end up with ecosystem fragmentation in that space. AI agents won't be hardcoded to parse dozens of proprietary in-store handlers. As a result, the agent will constantly hit a capability gap, trigger the
requires_escalationstate, and boot the user out to a webview to finish the reservation, defeating the purpose of a native conversational checkout.To fix this, I think we should define a common, shared handler in the core UCP spec: something like
dev.ucp.payment.pay_in_store.If we standardize the expected schema (for example, standardizing the payload to collect a
store_id,pickup_window, andcustomer_name), developers only have to support this one standard to unlock native ROPIS flows for local storefronts across the board.Has anyone else working on POS integrations run into this yet? I'm happy to put together a draft JSON schema for the instrument payload if there's interest in standardizing this and can align some partners.
Beta Was this translation helpful? Give feedback.
All reactions