---
title: Agentic Orders
slug: agentic-orders
docTags: 
createdAt: 2026-06-01T13:20:13.522Z
---

When a merchant receives an order from a consumer's agent (e.g. ChatGPT or Gemini), they should call the Forter API with additional data, signaling Forter the transaction source as well as transaction metadata provided to the merchant by the agent.

This additional data improves Forter's risk decisions and provides the merchant better reporting on agentic traffic.

### forterTokenCookie & forterMobileUID

In agentic flows, Forter's JavaScript snippet and Mobile SDK are typically not present, meaning `forterTokenCookie` and `forterMobileUID` will not be available. This is expected - Forter's system is adapted to assess agentic transactions with the data provided through the fields below.

### orderType

Set `orderType` to `AI_AGENT`

### additionalIdentifiers

Add the `additionalIdentifiers.agenticCommercePlatform` Object with the following fields:

- `agentSourceType` - Usually the vendor or AI company which can operate multiple platforms (e.g. OPENAI)
- `agentPlatform` - The flow or product of the AI agent application (e.g. CHATGPT\_INSTANT\_CHECKOUT)
- `agentApp` - Use if the platform is not available in the `agentPlatform` list, or when you need to further segment the channel, traffic or orchestrator (e.g., PAYPAL\_ACS)
- `agentId` - A unique identifier provided by the AI agent orchestrator or platform

The following platforms are currently supported. Additional platforms will be added as they become available.

| `agentSourceType` | `agentPlatform`                                                 |
| ----------------- | --------------------------------------------------------------- |
| OPENAI            | `CHATGPT_INSTANT_CHECKOUT`, `CHATGPT_AGENT`, `CHATGPT_APPS_SDK` |
| GOOGLE            | `SEARCH`, `AI_MODE`, `GEMINI`                                   |
| MICROSOFT         | `COPILOT`                                                       |
| PERPLEXITY        | `BUY_WITH_PRO`                                                  |
| AMAZON            | `ALEXA`, `BUY_FOR_ME`                                           |
| META              | `ADS`                                                           |
| THIRD\_PARTY      | `GENSMO`, `OTHER`                                               |
| IN\_HOUSE         |                                                                 |
| HENRYLABS         |                                                                 |

### connectionInformation

Populate `connectionInformation.customerIP` with the end user's IP address (if available). Google's UCP has it under `signals.dev.ucp.buyer_ip`

Populate `connectionInformation.userAgent` with the full, end user's agent. Google's UCP has it under `signals.dev.ucp.user_agent`

### payment

For Google UCP orders, map the selected payment instrument from the UCP `payment.instruments[]` array (the entry where `selected` is `true`).

For Google UCP using Google Pay, use Forter's `payment.androidPay` object. Given the following UCP instrument:

```json
"payment": {
  "instruments": [
    {
      "id": "pi_gpay_5678",
      "handler_id": "gpay_1234",
      "type": "card",
      "selected": true,
      "display": {
        "brand": "mastercard",
        "last_digits": "5678",
        "card_art": "https://cart-art-1.html",
        "description": "Google Pay •••• 5678"
      },
      "billing_address": {
        "street_address": "123 Main St",
        "address_locality": "Anytown",
        "address_region": "CA",
        "address_country": "US",
        "postal_code": "12345"
      },
      "credential": {
        "type": "PAYMENT_GATEWAY",
        "token": "examplePaymentMethodToken"
      }
    }
  ]
}
```

Map the fields as follows:

- `display.brand` → `cardBrand`
- `display.last_digits` → `lastFourDigits`
- `credential.token` → `token`
- `credential.type` → `tokenType`

Resulting in the following Forter `payment.androidPay` object:

```json
"payment": {
  "androidPay": {
    "cardBrand": "mastercard",
    "lastFourDigits": "5678",
    "token": "examplePaymentMethodToken",
    "tokenType": "PSP"
  }
}
```

When the payment instrument is not Google Pay, send it through the matching `payment` object instead (e.g. `creditCard`, `tokenizedCard`, `applePay`), mapping the available non-PCI fields from the agentic payload into the corresponding Forter fields.

The BIN and expiration are often missing from agentic payloads. When they are, try to retrieve them from your tokenizer or PSP service API.

### additionalInformation

As protocols continue to evolve, please add the following payloads as they become available:

1. **For Google** include the UCP signals as `ucpSignals`
2. **For OpenAI** include the ACP signals as `acpSignals`
3. **For Adyen** include Adyen signals as `adyenSignals`
4. **For PayPal** include PayPal signals as `paypalSignals`
5. **For Stripe** include Stripe signals as `stripeSignals`

### Schema

Your API schema should be set to support this additional fields and/or make some of the missing ones optional. If it isn't, contact your Forter Implementation Engineering team to get it updated.

[API Reference](https://portal.forter.com/app/integration/docs/api-reference?api=validation#request_additionalIdentifiers_agenticCommercePlatform)
