Shared payment tokensPublic preview
Grant and receive scoped payment credentials for agent-initiated purchases.
Shared payment tokens (SPTs) grant sellers scoped access to customers’ payment methods for agent-initiated purchases. SPTs are available to agents, customers, and sellers in the US, Canada, and select European countries.
View all supported countries
As the seller, you receive a shared payment token (SPT) from the agent. An SPT is a scoped grant to use the customer’s payment method. The agent grants SPTs to your Stripe profile, each with usage and expiration limits.
Before you begin
- By using SPTs, you agree to the terms of service.
- If you don’t already have a Stripe account, create one.
- Create your Stripe profile in the Dashboard.
Test receiving an SPT
Use test helpers to simulate receiving an SPT granted by the agent. The following request grants your account an SPT using a test payment method and simulates limits that agents might set, such as currency, maximum amount, and expiration window.
curl https://api.stripe.com/v1/test_helpers/shared_payment/granted_tokens \ -u "sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \ -H "Stripe-Version: 2026-04-22.preview" \ -d payment_method=pm_card_visa \ -d "usage_limits[currency]=usd" \ -d "usage_limits[max_amount]=1000" \ -d "usage_limits[expires_at]=1798761600"
Set usage limits
Use the usage_ parameter to specify the maximum amount and expiration window. The agent sets the maximum amount to match the total amount of the transaction.
Specify the payment method
Use the payment_ parameter to specify the payment method the customer selected for the purchase.
Test your live mode integration
To test your integration in live mode, use the link-cli to issue SPTs from your personal Link account. The link-cli can provision one-time shared payment token credentials. Follow the instructions at link.com/agents to install the link-cli skills or register it as an MCP server in your preferred agent.
- Log in to your personal Link account, or sign up if you don’t have one.
npx @stripe/link-cli auth login
- Choose the payment method you want to use. If you don’t already have one, add a payment method.
npx @stripe/link-cli payment-methods list
- Create a spend request to issue a one-time SPT scoped to your business profile.
npx @stripe/link-cli spend-request create \ --payment-method-id csmrpd_xxx \ --context "Machine payments with SPTs in live mode" \ --amount 100 \ --credential-type shared_payment_token \ --network-id profile_... \ --request-approval
Use a shared payment token
After you receive a granted SharedPaymentToken, create a PaymentIntent to complete the payment.
When you confirm a PaymentIntent with the SPT, Stripe sets payment_ to a new PaymentMethod cloned from the customer’s original payment method. Subsequent events, such as refunds and reporting, behave as if you provided the PaymentMethod directly.
Retrieve details about the granted SharedPaymentToken, including limited information about the underlying payment method, such as the card brand, last four digits, and usage limits.
{ "id": "spt_123", "object": "shared_payment.granted_token", "created": 1751500820, "deactivated_at": null, "deactivated_reason": null, "usage_limits": { "currency": "usd", "expires_at": 1789024131, "max_amount": 1000 } ... }
Listen for webhook events
We send events to you and the agent when:
- You use a granted SPT to accept a payment.
- The agent revokes a granted SPT. You can’t create a payment with a revoked SPT.
| Event | Description | Use case |
|---|---|---|
shared_ | The SPT has been deactivated (consumed, expired, or revoked). | Listen for this event to know when you can no longer use the SPT. |