A proposal adds available_instruments to UCP payment handler configurations — enabling handlers to declare which payment methods they support and with what constraints. Essential infrastructure for installments, BNPL, and multi-payment orchestration.
Today, UCP payment handlers can technically specify which payment instruments they accept, but it's done through an unstructured config blob. Each payment provider defines their own schema, leading to fragmentation:
// Provider A's approach
{
"config": {
"accepted_cards": ["visa", "mastercard"],
"allow_apple_pay": true
}
}
// Provider B's approach
{
"config": {
"payment_methods": {
"cards": { "brands": ["visa", "mc", "amex"] },
"wallets": ["applepay"]
}
}
}
This divergence creates problems for AI agents. An agent can't reliably determine which payment methods a checkout supports without understanding each provider's proprietary schema.
The proposal introduces a standardized available_instruments array at the payment handler level:
{
"payment_handler": {
"id": "stripe-handler",
"available_instruments": [
{
"type": "card",
"constraints": {
"brands": ["visa", "mastercard", "amex"]
}
},
{
"type": "digital_wallet",
"constraints": {
"providers": ["apple_pay", "google_pay"]
}
}
]
}
}
The proposal explicitly calls out the future use case: payment terms and purchase options. Consider an "Affirm" style buy-now-pay-later flow:
Without structured instrument constraints, this logic lives in ad-hoc provider configs. With available_instruments, it becomes queryable protocol-level information.
The PR introduces:
available_payment_instrument.json defines the structure all instrument types must followcard_payment_instrument.json adds card brand constraintsavailable_instruments is absent, all instruments are considered available (backward compatible)The constraint pattern is extensible. Future instrument types (crypto, BNPL providers, regional payment methods) can define their own constraint schemas following the base pattern.
This change is foundational for several upcoming UCP features:
The PR is currently open and under review. Given its non-breaking nature and clear use case, expect it to merge relatively quickly.