# Shared payment tokens Grant and receive scoped payment credentials for agent-initiated purchases. > Shared payment tokens (SPTs) are available to agents, customers, and sellers in the US. # Sellers As the seller, you receive a [shared payment token (SPT)](https://docs.stripe.com/api/shared-payment/granted-token.md) from the agent. An SPT is a scoped grant to use the customer’s payment method. The agent grants SPTs to your [Stripe profile](https://docs.stripe.com/get-started/account/profile.md), each with usage and expiration limits. Payment method registration and processing (See full diagram at https://docs.stripe.com/agentic-commerce/concepts/shared-payment-tokens) ## Before you begin - By using SPTs, you agree to the [terms of service](https://stripe.com/legal/ssa-services-terms#stripe-agentic-commerce-seller-services-preview). - If you don’t already have a Stripe account, [create one](https://stripe.com/register). - Create your [Stripe profile](https://docs.stripe.com/get-started/account/profile.md) 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 curl https://api.stripe.com/v1/test_helpers/shared_payment/granted_tokens \ -u "<>:" \ -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]=1751587220" ``` ### 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](https://link.com/agents) 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](https://link.com/agents) to install the `link-cli` skills or register it as an MCP server in your preferred agent. 1. Log in to your personal Link account, or [sign up](https://app.link.com) if you don’t have one. ```bash npx @stripe/link-cli auth login ``` 1. Choose the payment method you want to use. If you don’t already have one, [add a payment method](https://app.link.com/wallet). ```bash npx @stripe/link-cli payment-methods list ``` 1. Create a spend request to issue a one-time SPT scoped to your business profile. ```bash 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. ```curl curl https://api.stripe.com/v1/payment_intents \ -u "<>:" \ -d amount=1000 \ -d currency=usd \ -d "payment_method_data[shared_payment_granted_token]=spt_123" \ -d confirm=true ``` 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. ```curl curl https://api.stripe.com/v1/shared_payment/granted_tokens/spt_123 \ -u "<>:" \ -H "Stripe-Version: 2026-04-22.preview" ``` ``` { "id": "spt_123", "object": "shared_payment.granted_token", "created": 1751500820, "deactivated_at": null, "deactivated_reason": null, "usage_limits": { "currency": "usd", "expires_at": 1783043139, "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 (revoked or expired). | Listen for this event to know when you can no longer use the SPT. |