# Embed commerce into your AI interface

Browse products, collect payment information, and complete purchases on behalf of sellers.

> Agentic Commerce Suite is private preview and is available in the US, Canada, and select European countries. It supports purchases of physical goods.
> 
> [Join the preview waitlist](https://go.stripe.global/agentic-commerce-contact-sales).

Use Agentic Commerce Suite (ACS) to embed commerce capabilities into your AI interface. ACS works across multiple commerce protocols, so your AI interface can discover products, collect payment information, and complete purchases on behalf of sellers. Use the embedded integration for an end-to-end agentic commerce flow.

### View all supported countries

- AT
- BE
- BG
- CA
- CH
- CY
- CZ
- DE
- DK
- EE
- ES
- FI
- FR
- GB
- GI
- GR
- HR
- HU
- IE
- IT
- LI
- LT
- LU
- LV
- MT
- NL
- NO
- PL
- PT
- RO
- SE
- SI
- SK
- US

# Redirect


Use the redirect integration to ingest seller product catalogs through Stripe without using the Delegated Checkout API. This option is for agents that want access to seller product data but to route checkout and purchase flows to merchant interfaces.

## Get started

### Set up your Stripe account

[Create a Stripe account](https://stripe.com/register) if you don’t already have one. After you verify your email, activate payments by providing business and personal information, linking a bank account for payouts, and setting up two-step authentication.

### Begin agent configuration

Go to the [Agentic commerce](https://dashboard.stripe.com/agentic-commerce) page and select **Onboard as an agent** to configure your account as an agent. If you don’t already have a [Stripe profile](https://docs.stripe.com/get-started/account/profile.md), Stripe prompts you to create one.

### (Optional) Upload terms of service and privacy policy

You can require sellers to accept your terms of service and privacy policy before they proceed. During onboarding, upload a link for each document. Stripe shows these links to sellers when they initiate an agreement. This step is optional.

### Configure product feed acceptance

Set up SSH File Transfer Protocol (SFTP) to ingest seller product feeds from Stripe. You must provide the host name, port, and user name. Stripe generates a public and private key pair that you add to the server’s authorized keys. The public key is available as you complete agent onboarding in the Stripe Dashboard. Stripe rotates the public and private keys every 365 days and notifies the agent when it’s time to rotate.

During onboarding, Stripe also presents you with a unique challenge token. You must upload this token to your SFTP host in a file called `stripe-verification.txt`. Once Stripe verifies the presence of this file with the expected token, Stripe begins uploading product catalogs for your sellers to your SFTP server.

### Complete verification

After you complete all onboarding steps, your account might enter a pending state while Stripe completes final verification checks. Stripe might ask you to complete additional identity verification, which you can access in your [Account settings](https://dashboard.stripe.com/settings/account). Stripe sends you an email when your agent configuration becomes active.

## Manage seller relationships

### Set up an orchestrated commerce agreement

After you complete agent onboarding, all Agentic Commerce Suite (ACS) sellers can discover your account name and business profile in the Dashboard.

Before you can connect with a seller, you need an orchestrated commerce agreement (OCA). An OCA is a required connection between your agent and a seller that enables agentic commerce flows. Only a seller can initiate an OCA request.

After a seller requests an OCA, the seller appears on the Agentic commerce page in the Dashboard. You can approve or reject the OCA for that seller.

### Terminate an orchestrated commerce agreement

Either party can terminate an OCA at any time. After termination, only the party that terminated the OCA can request a new one. You can terminate an OCA on the Agentic commerce page in the Dashboard.

### Manage an OCA with webhooks

Configure your agent to listen for [v2 webhooks](https://docs.stripe.com/api/v2/core/event_destinations.md). Set up an event destination to receive these events:

- `v2.orchestrated_commerce.agreement.created`
- `v2.orchestrated_commerce.agreement.partially_confirmed`
- `v2.orchestrated_commerce.agreement.confirmed`
- `v2.orchestrated_commerce.agreement.terminated`

#### Establish an OCA

After a seller enables your agent in the Stripe Dashboard, Stripe sends two webhooks to your agent: `v2.orchestrated_commerce.agreement.created` and `v2.orchestrated_commerce.agreement.partially_confirmed`.

When you receive the `partially_confirmed` webhook, retrieve the OCA to verify the seller’s identity, then confirm your side of the OCA:

```json
// Webhook payload
{
  "id": "evt_123",
  "object": "v2.core.event",
  "type": "v2.orchestrated_commerce.agreement.partially_confirmed",
  "related_object": {
    "id": "orca_123",
    "type": "v2.orchestrated_commerce.agreement",
    "url": "/v2/orchestrated_commerce/agreements/orca_123"
  }
}
```

Retrieve the OCA to verify the seller:

```curl
curl https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}} \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-08-26.preview"
```

You can also retrieve the seller’s Stripe profile for additional details, such as display name and branding.

```curl
curl https://api.stripe.com/v2/network/profiles/{{SELLER_PROFILE_ID}} \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-08-26.preview"
```

Confirm the OCA:

```curl
curl -X POST https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}}/confirm \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-08-26.preview"
```

Stripe sends a `v2.orchestrated_commerce.agreement.confirmed` webhook to the seller. After both parties confirm the OCA, it authorizes data access between your agent and the seller.

#### Terminate an OCA

Either party can terminate an OCA at any time:

```curl
curl -X POST https://api.stripe.com/v2/orchestrated_commerce/agreements/{{OCA_ID}}/terminate \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2026-08-26.preview"
```

Termination sends a `v2.orchestrated_commerce.agreement.terminated` webhook to the other party and revokes the OCA. After termination, only the party that terminated the OCA can initiate a new one.

## Ingest product feeds

Seller product feeds are sent to the SFTP server you set up during onboarding. For details on the SFTP directory layout, feed schemas, and manifest handling, see [SFTP catalog ingestion](https://docs.stripe.com/agentic-commerce/product-feed/sftp-catalog-ingestion.md).

## Test integration

To test your integration, enable **Test Seller** in the Agentic commerce page in the Dashboard. The test seller simulates a real seller so you can verify your feed ingestion without a live seller connection.

After you enable the test seller:

1. Ingest the test product feed through SSH File Transfer Protocol (SFTP).
2. Verify that the product data arrives on your SFTP server and matches the expected [product feed field reference](https://docs.stripe.com/agentic-commerce/product-feed.md#product-feed-field-reference) structure.

