Public preview
Shared payment tokens Public 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.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Set usage limits
Use the usage_limits 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_method 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.
Command Line
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 .
Command Line
npx @stripe/link-cli payment-methods list
- Create a spend request to issue a one-time SPT scoped to your business profile.
Command Line
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.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
When you confirm a PaymentIntent with the SPT, Stripe sets payment_method 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.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
{
"id": "spt_123",
"object": "shared_payment.granted_token",
"created": 1751500820,
"deactivated_at": null,
"deactivated_reason": null,
"usage_limits": {
"currency": "usd",
"expires_at": 1792822511,
"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_payment.granted_token.deactivated | The SPT has been deactivated (consumed, expired, or revoked). | Listen for this event to know when you can no longer use the SPT. |
