Agent skill
acp-payment-handlers
Implement ACP payment handlers — pluggable payment method specifications including tokenized cards, seller-backed methods (gift cards, points, store credit), and handler negotiation. Use when adding payment methods or building custom payment handler support.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/acp-payment-handlers
SKILL.md
ACP Payment Handlers
Before writing code
Fetch live docs:
- Web-search
site:github.com agentic-commerce-protocol rfcs payment_handlersfor the payment handlers RFC - Web-search
site:github.com agentic-commerce-protocol rfcs seller_backedfor seller-backed payment handler RFC - Fetch
https://developers.openai.com/commerce/specs/payment/for payment data structures - Web-search
site:docs.stripe.com agentic-commerce payment handlerfor Stripe's handler implementation
Conceptual Architecture
What Payment Handlers Are
Payment handlers are pluggable specifications that define how a particular payment method works within ACP. Each PSP or merchant publishes handler specs, and agents/merchants negotiate which handlers they mutually support.
This inverts the traditional integration model — instead of hardcoding payment methods into the protocol, handlers are discoverable and composable.
Handler Identification
Each handler has a reverse-DNS name and version:
dev.acp.tokenized.card— Tokenized credit/debit cards (Stripe SPT)dev.acp.seller_backed.saved_card— Pre-stored cards on merchantdev.acp.seller_backed.gift_card— Gift cards with number/PINdev.acp.seller_backed.points— Loyalty/rewards pointsdev.acp.seller_backed.store_credit— Account balance/store credit
Handler Structure
Each payment handler spec defines:
id— Unique instance identifier within the sessionname— Specification name in reverse-DNS format (e.g.,dev.acp.tokenized.card)version— Spec versionspec— URL to the handler specificationrequires_delegate_payment— Whether the agent must call/delegate_payment(true for tokenized cards)requires_pci_compliance— Whether PCI DSS scope is affectedpsp— Which PSP processes this handlerconfig_schema— JSON Schema for merchant configurationinstrument_schemas— JSON Schema(s) for the payment instrument data the agent sends
Tokenized Card Handler
The primary handler — uses Stripe's delegated payment:
- Agent provisions SPT via Stripe
- Agent sends SPT as the instrument credential in
complete - Merchant charges via Stripe using the SPT
requires_delegate_payment: true
Seller-Backed Handlers
These bypass the PSP — the merchant directly manages the payment:
- Saved card — Customer has a card on file with the merchant
- Gift card — Number + optional PIN
- Points — Loyalty program balance
- Store credit — Account balance
requires_delegate_payment: falserequires_pci_compliance: false(except saved cards)
Handler Negotiation
During capability negotiation:
- Agent advertises supported payment handlers in
capabilities.payment.handlers[] - Merchant responds with handlers they accept
- Intersection determines available payment methods for the session
- Agent picks one and provides the appropriate instrument data
Payment Data Structure
When completing a checkout, the agent provides:
handler_id— Which handler is being usedinstrument—type+credential(shape defined by handler's instrument schema)- Optional
billing_address
Best Practices
- Support multiple handlers to maximize conversion
- Advertise all accepted handlers in capability negotiation
- Validate instrument data against the handler's instrument schema
- Handle handler-specific errors (e.g., insufficient points, expired gift card)
- Log handler usage for payment method analytics
Fetch the payment handlers RFC and instrument schemas from the GitHub repo for exact field definitions before implementing.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?