You can enable AI agents, like OpenAI's ChatGPT, to discover your product feed and facilitate secure transactions. After an AI agent initiates a secure transaction with you, you can use Adyen to process the payment.
For example, a shopper prompts ChatGPT to find your product and initiates a transaction, and you process the payment through Adyen.
Requirements
| Requirement | Description |
|---|---|
| Integration type | An online payments integration. |
| Setup steps | Before you begin:
|
How it works
The integration uses a combination of the AI provider's discovery tools, your agentic commerce server, and Adyen's payment processing.
- AI agent discovers your products: You provide your product feed to the AI provider, and the AI agent indexes your product feed. Shoppers can prompt AI agents to search for your products in a chat interface.
- Shopper initiates a transaction: When the shopper prompts the agent to buy a product from you, the AI provider makes a request to your
/checkout_sessionsendpoint. - Use Adyen as the payment provider: Your server creates the checkout session and returns a response that specifies Adyen as the payment provider.
- AI agent request to complete the transaction: The AI provider sends a completion request that contains the ACP token to identify the shopper's chosen payment method.
- Adyen authorizes the payment: You make a request to Adyen to authorize the payment using the ACP token.
The following diagram shows a successful transaction flow where the shopper does not update or cancel the order after initiating the transaction.
Make your product feed discoverable
You must make sure that your product feed is visible to the AI agent, like OpenAI's ChatGPT.
- Register with an AI provider: Create a merchant profile with the AI agent provider. For example, register with ChatGPT.
- Create your product feed: Format and upload your catalog data so that it can be indexed by the AI agent. For example, use OpenAI's Product Feed Spec to provide your product feed to ChatGPT.
- Enable checkout: make sure that your product feed is configured to allow AI agents to initiate transactions. For example, for OpenAI's Product Feed Spec, set
enable_checkout: true.
Enable checkout from AI agents
Set up your server for AI agents to make requests and facilitate secure transactions. The following instructions are for a server integrated with the Agentic Checkout Spec.
Return Adyen as a payment provider
When the shopper prompts an AI agent to make a purchase from you, your /checkout_sessions response must specify Adyen as the payment provider, in addition to other required and optional parameters you want to include.
Include the following in your response:
| Parameter | Description |
|---|---|
payment_provider.provider |
adyen |
payment_provider.merchant_id |
Your Adyen merchant account. |
payment_provider.supported_payment_methods |
An array of support payment methods. Example: [scheme] |
Get the Agentic Commerce Protocol (ACP) token for the payment
When the AI agent confirms the intention to pay, OpenAPI makes a request to your /checkout_sessions/{checkout_session_id}/complete endpoint, the request specifies Adyen as the payment provider and includes an ACP token, in addition to other parameters that OpenAI sends.
Include the following in your response:
| Parameter | Description |
|---|---|
payment_provider.provider |
adyen |
payment_provider.token |
The ACP token from OpenAI with encrypted data for the payment. Example: FKSPNCQ8HXSKGK82 |
Authorize a payment with the ACP token
After you receive the ACP token from OpenAI, you must make a request to Adyen to authorize the payment.
Make a POST /payments request, including the following parameters:
| Parameter | Description |
|---|---|
shopperReference |
The checkout_session_id from OpenAI. |
paymentMethod.storedPaymentMethodId |
The ACP token for the payment from OpenAPI. |
merchantAccount |
Your merchant account. |
amount.value |
The value of the payment, in minor units. |
amount.currency |
The three-character ISO currency code. |
shopperInteraction |
ContAuth |
recurringProcessingModel |
UnscheduledCardOnFile |
reference |
Your reference for the order. |
The response includes:
| Parameter | Description |
|---|---|
pspReference |
Our unique identifier for the transaction. |
resultCode |
Indicates the current status of the payment. |
Get the payment outcome
After completing the payment flow, you get the payment status synchronously from the API response. Use the
resultCode
to determine the outcome of the payment.
You additionally get the outcome of each payment asynchronously, in an AUTHORISATION webhook. Use the merchantReference from the webhook to match it to your order reference.
For a successful payment, the event contains success: true.