The Adyen Agentic API acts as a bridge between your AI agent platform and our merchants. This enables your agents to make transactions on behalf of shoppers who use your AI agents. You communicate with Adyen through our API endpoints, and you do not communicate directly with merchants. Adyen handles the communication with our merchants and the downstream complexity of orchestrating stock validation, tax calculation, shipping, and payment authorization. We make the relevant information visible to your agents.
Requirements
| Requirement | Description |
|---|---|
| Integration type | This guide is for an integration using the Universal Commerce Protocol (UCP). Payment credentials follow the UCP tokenization specification. |
| User role | Make sure that your Adyen credential (API key) for your company account has the following user role:
|
How it works
When a shopper initiates a transaction with your agent platform, the following flow occurs:
- The shopper selects items to purchase in your agent platform.
- Your agent platform creates a checkout session with Adyen (POST
/checkout_sessions). - Adyen validates stock, calculates tax and shipping with the merchant.
- Adyen returns the created session with UCP envelope, totals, and fulfillment options.
- Your agent platform presents totals and fulfillment options to the shopper.
- (Optional) The shopper selects a shipping option or updates their address.
- (Optional) Your agent platform updates the session (PUT
/checkout_sessions/{sessionId}). - (Optional) Adyen re-validates totals with the merchant and returns the updated session.
- The shopper enters payment details.
- Your agent platform tokenizes the credentials (POST
/handler/tokenize). - Adyen returns a UCP token.
- Your agent platform completes the session (POST
/checkout_sessions/{sessionId}/complete). - Adyen authorizes the payment and places the order with the merchant.
- Adyen returns the completed session with order ID and permalink URL.
- Your agent platform presents the order confirmation and tracking link to the shopper.
Integration steps
Use the following base URL for the endpoints in the agentic commerce checkout lifecycle, besides the tokenize phase.
The path parameter {companyAccount} is your Adyen company account identifier.
| Environment | Base URL |
|---|---|
| Test | https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount} |
| Live | https://commerce-suite-live.adyen.com/commerce-suite/ucp/v1/{companyAccount} |
The agentic commerce checkout lifecycle consists of six phases:
- Create session: Initialize a checkout session with items, shopper, and fulfillment details.
- Get session (optional): Get the current state of the session to synchronize the total payment amount or verify its status.
- Update session (optional): Update items, address, buyer details, or fulfillment selection and recalculate totals.
- Tokenize: Exchange the shopper's payment credentials for a single-use UCP token.
- Complete session: Submit the payment token and trigger authorization.
- Cancel session (optional): Cancel an active session and release reserved inventory.
Authentication
The Adyen Agentic Commerce Suite uses Bearer token authentication.
In the Authorization header of your requests, pass your Adyen API key as the bearer token. Your API key must have the Commerce Suite API role. Session operations also require UCP HTTP Message Signatures (RFC 9421) for request integrity and origin verification.
| Header | Required | Description |
|---|---|---|
Authorization |
Your Adyen API key as a bearer token. | |
Content-Type |
application/json. | |
UCP-Agent |
Your agent platform profile URL. | |
Signature |
The RFC 9421 signature over the covered components. | |
Signature-Input |
Signature metadata: covered components, algorithm, key ID. | |
Idempotency-Key |
A unique key to prevent duplicate requests. | |
Content-Digest |
Required for POST and PUT requests. SHA-256 digest of the request body. |
Never expose your API key in a URL query string, or in agent-readable context. All API requests must originate from your secure agent backend or token vault infrastructure.
UCP envelope
Every session response includes a required ucp object. You must read it for every response your server receives.
It advertises the protocol version, session status, supported capabilities, and the payment_handlers map your agent uses to tokenize. Each handler entry exposes the merchant identifier and the payment methods it accepts.
Create session
Initialize a new checkout session with a list of items, optional buyer, context, and fulfillment details.
Make a POST /checkout_sessions request, including the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
line_items |
UcpLineItemRequest[]
|
The items to purchase. Each entry requires an item and quantity of 1 or more. |
|
currency |
String (ISO 4217) | The three-letter settlement currency code, for example, USD, EUR, GBP. If omitted, Adyen resolves it from context or the merchant default. | |
buyer |
UcpBuyer
|
The buyer's contact details and consent flags. | |
context |
UcpContext
|
The shopper context: country, region, postal code, language, currency hint, and eligibility. | |
fulfillment |
UcpFulfillment
|
The fulfillment methods, destinations, and group selections. | |
discounts |
UcpDiscountsRequest
|
The discount or promo codes to apply at session creation. | |
attribution |
Object | Free-form attribution metadata. Adyen stores it but does not echo it in the response. | |
signals |
Object | Free-form context signals that Adyen forwards to the merchant. |
Adyen does the following:
- Makes a request to the merchant's server to validate stock and calculate total amounts in real-time.
- Sends the session data to your agent.
The success HTTP 201 response includes the following:
| Parameter | Description |
|---|---|
id |
The unique session identifier. Use this for subsequent requests for this session. |
status |
Current session status. |
currency |
Settlement currency code. |
line_items |
Line items with pricing and tax details. |
totals |
Subtotal, tax, fulfillment, and total amount. |
payment |
Payment instruments state. |
links |
A
UcpLink
array with links to merchant policy or support URLs. |
ucp |
The UCP envelope with protocol version, capabilities, and payment handlers. |
fulfillment |
Available fulfillment methods with options and costs. |
messages |
A
UcpMessage
array with informational or warning messages. |
discounts |
A
UcpDiscountsResponse
object with applied and submitted discount codes. |
buyer |
Echoed buyer details. |
Possible HTTP status codes
| HTTP | Meaning | Description |
|---|---|---|
| 201 | Created | Session created. Use the returned id for all subsequent requests for this session. Read status and messages[]. |
| 422 | Unprocessable | An error in business logic prevented the session from being created. For example, one of the items in the order is out of stock. Get more information from messages[]. |
(Optional) Get session
Get the current state of the session to synchronize the total payment amount or verify its status.
Make a GET /checkout_sessions/{sessionId} request with the following path parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
sessionId |
String | The id from the Create session response. |
No request body is required.
The success HTTP 200 response returns the full session state, identical to the Create session response.
Possible HTTP status codes
| HTTP | Meaning | Description |
|---|---|---|
| 200 | OK | Session found and returned. |
| 404 | Not Found | The session ID does not exist or has expired. |
(Optional) Update session
Update an existing session with new buyer details, fulfillment selection, discounts, or line items. Each update triggers Adyen to make a request to the merchant's live calculator, so your agent always has accurate totals.
Make a PUT /checkout_sessions/{sessionId} request. This endpoint uses full-replacement semantics. Send the complete desired state. The request replaces the session's mutable fields rather than patching individual keys. Always re-send line_items.
| Parameter | Type | Required | Description |
|---|---|---|---|
line_items |
UcpLineItemRequest[]
|
Replaces the entire item list. | |
currency |
String (ISO 4217) | Must match the currency set at session creation. | |
buyer |
UcpBuyer
|
Updated buyer contact information. | |
fulfillment |
UcpFulfillment
|
Updated fulfillment selection. Triggers recalculation of tax and shipping costs. | |
discounts |
UcpDiscountsRequest
|
The discount codes to apply or update. Replaces any previously submitted codes. |
Make this request to update the session whenever the shopper changes their delivery address, selects a shipping option, modifies their shopping cart, or applies a discount code. The response line_items[].totals, fulfillment, and totals[] are always authoritative. Show these values to the shopper before completing the session.
The success HTTP 200 response returns the full updated session state, identical to the Create session response.
Possible HTTP status codes
| HTTP | Meaning | Description |
|---|---|---|
| 200 | OK | Session updated. The response contains the latest authoritative state. |
| 409 | Conflict | Session cannot transition to the requested state. Re-fetch and reconcile. |
| 422 | Unprocessable | An error in merchant logic rejected the update. For example, an item is now out of stock. Get more information from messages[]. |
Tokenize payment credential
Before you complete the session, exchange the shopper's raw card credential for a single-use UCP token. The token is bound to a specific checkout session and merchant, and it does not expose raw card data.
Message-level encryption (MLE)
We strongly recommend that you add message-level encryption (MLE) to your API request when you share the shopper's payment credentials.
Endpoint:
| Environment | URL |
|---|---|
| Test | https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/handler/tokenize |
| Live | https://commerce-suite-live.adyen.com/commerce-suite/ucp/v1/handler/tokenize |
To bind the token to the merchant, use the checkout_id from the session and the identifier from ucp.payment_handlers[*].config.merchant_id.
Make a POST /handler/tokenize request, including the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
binding.checkout_id |
String | The checkout session id to bind the token to. |
|
binding.identity.access_token |
String | The public merchant identifier to bind the token to. | |
credential.type |
String | The credential type. Value: card. | |
credential.card_number_type |
String | The type of card number. Possible values: fpan, network_token. | |
credential.number |
String (12–19 digits) | The shopper's card number. | |
credential.expiry_month |
Integer (1–12) | The card expiry month. | |
credential.expiry_year |
Integer | The card expiry year (four digits). | |
credential.cryptogram |
String | Required when card_number_type is network_token. The cryptogram provided with network tokens. |
|
credential.eci_value |
String | The Electronic Commerce Indicator, for network tokens. | |
credential.cvc |
String (3–4 digits) | The card security code. | |
credential.name |
String | The cardholder name. | |
session_context |
UcpSessionContext
|
Device and network context:
|
The success HTTP 200 response includes the following:
| Parameter | Type | Description |
|---|---|---|
token |
String | The single-use UCP token. Submit this as payment.instruments[].credential.token in the Complete session request. |
The token is single-use and valid for one hour. If the token expires before you complete the session, make a POST /handler/tokenize request again to get a fresh token.
Possible HTTP status codes
| HTTP | Meaning | Description |
|---|---|---|
| 200 | OK | Token issued. |
| 401 | Unauthorized | Invalid or missing API key, or the API key does not have the Commerce Suite role. |
| 403 | Forbidden | Your platform is not authorized to tokenize for this merchant. Confirm the merchant has opted in to your platform. |
| 422 | Unprocessable | Request body validation failed. Get more information from the error message. |
Complete session
Finalize the session. Submit the tokenized payment instrument.
Make a POST /checkout_sessions/{sessionId}/complete request, including the following parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
payment.instruments[].handler_id |
String | The handler id from ucp.payment_handlers, for example, adyen. |
|
payment.instruments[].credential.token |
String | The UCP token returned by the tokenization handler. | |
payment.instruments[].credential.type |
String | Credential type of the token. | |
payment.instruments[].type |
String | Instrument type, for example, card. | |
payment.instruments[].selected |
Boolean | Set to true to charge this instrument. | |
signals |
map | Completion-time signals, for example, device fingerprint or user agent. |
Adyen does the following:
- Validates the token.
- Executes authorization with the merchant.
- Returns the session state, including the
orderobject on success.
The success HTTP 200 response includes the status. What you do depends on the status.
Completed
If the response includes status: completed, show the following information to the shopper:
| Parameter | Description |
|---|---|
order.id |
The unique order identifier. Use for post-purchase communication and support queries. |
order.permalink_url |
Permanent URL to the merchant's order details page. Present to the shopper as their confirmation link. |
Requires escalation
If the response includes status: requires_escalation, do the following:
- Show the
continue_urlto the shopper to finish the required action (for example, 3D Secure 2 authentication). - Make repeated requests to Get session until the status changes.
Possible HTTP status codes
| HTTP | Meaning | Description |
|---|---|---|
| 200 | OK | Authorization executed. order present on success. If authorization is declined, get more information from messages[]. |
| 409 | Conflict | Session is not in a completable state (for example, incomplete). Resolve blocking messages first. |
| 422 | Unprocessable | Payment or merchant validation failed. Get more information from messages[]. |
(Optional) Cancel session
Cancel an active session that has not been completed. Use this when the shopper abandons checkout or your agent cannot proceed. Adyen tells the merchant to release any reserved inventory.
Make a POST /checkout_sessions/{sessionId}/cancel request with the following path parameter:
| Parameter | Type | Required | Description |
|---|---|---|---|
sessionId |
String | The id from the Create session response. |
No request body is required.
The success HTTP 200 response returns the final session state with status: canceled.
Possible HTTP status codes
| HTTP | Meaning | Description |
|---|---|---|
| 200 | OK | Session canceled. The response contains the final session state with status: canceled. Do not reuse the session id. |
| 409 | Conflict | Session already terminal (completed or canceled) and cannot be canceled. |
Test and go live
Use the sandbox environment to test end-to-end before going live. The sandbox uses the same API specifications and schemas as the live environment.
Test environment endpoints
| Phase | Method | Endpoint URL |
|---|---|---|
| Create session | POST |
https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount}/checkout_sessions |
| Get session | GET |
https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount}/checkout_sessions/{sessionId} |
| Update session | PUT |
https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount}/checkout_sessions/{sessionId} |
| Tokenize | POST |
https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/handler/tokenize |
| Complete session | POST |
https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount}/checkout_sessions/{sessionId}/complete |
| Cancel session | POST |
https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount}/checkout_sessions/{sessionId}/cancel |
Recommended test sequence
To verify your integration, follow these steps:
-
Create a session.
Make a POST
/checkout_sessionsrequest with your test API key in theAuthorization: Bearerheader. -
Update with fulfillment selection.
Make a PUT
/checkout_sessions/{sessionId}request. Confirm thatstatusis ready_for_complete and that the totals are finalized. -
Tokenize payment credentials.
Make a POST
/handler/tokenizerequest with thecheckout_idand themerchant_idfrom the UCP envelope. Capture the returnedtoken. -
Complete the session.
Make a POST
/checkout_sessions/{sessionId}/completerequest with the token. Confirm thatstatusis completed andorder.idis present.
Go live
In your live environment, use the live endpoints.
Session statuses
Every response contains a status field. Evaluate this field on every response.
| Status | Category | Agent action |
|---|---|---|
| incomplete | Active | Missing required information or unresolved issues. Resolve using Update session. |
| ready_for_complete | Active | All data valid and totals confirmed. Prompt the shopper to confirm, then make a Complete session request. |
| requires_escalation | Active | The buyer must complete a step in a browser (for example, 3D Secure 2 authentication). Show continue_url to the shopper and poll Get session. |
| complete_in_progress | Active | Completion in progress. Wait for the next status transition before taking further action. |
| completed | Terminal | Payment authorized and order created. Present order.permalink_url and order.id to the shopper. |
| canceled | Terminal | Session explicitly canceled. Do not reuse this session id. |
Messages and error handling
Session responses include a messages[] array of structured objects. Read it on every response, not only on error HTTP codes. An HTTP 200 can still carry warnings or buyer-input prompts. Errors that prevent a response body follow the UCP error envelope.
Error envelope
Message severity
| Severity | Agent handling |
|---|---|
| recoverable | Transient or auto-resolvable. Retry the operation or re-fetch the session. |
| requires_buyer_input | Blocking. Collect the missing input from the shopper (address, fulfillment, discount) and make an Update session request. |
| requires_buyer_review | Blocking. Show the detail to the shopper to review and confirm before proceeding. |
| unrecoverable | Terminal for this session. Do not retry. Start a new session if appropriate. |
Common error codes
| HTTP | Code | Description |
|---|---|---|
| 401 | unauthorized | Caller not authorized. Check the API key and Commerce Suite role. |
| 404 | not_found | Session does not exist or has expired. |
| 409 | invalid_state | Session cannot transition to the requested state. |
| 422 | merchant_validation_failed | Merchant response missing required fields, or business rule rejected the request. |
| 500 | configuration_error | Merchant configuration missing or invalid. Contact your Adyen account team. |
Schema reference
The schema reference below shows all the available endpoints and objects you can use for this integration.
Endpoints
Adyen Agentic API:
| Environment | Base URL |
|---|---|
| Test | https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/{companyAccount} |
| Live | https://commerce-suite-live.adyen.com/commerce-suite/ucp/v1/{companyAccount} |
Tokenization:
| Environment | Endpoint URL |
|---|---|
| Test | https://commerce-suite-test.adyen.com/commerce-suite/ucp/v1/handler/tokenize |
| Live | https://commerce-suite-live.adyen.com/commerce-suite/ucp/v1/handler/tokenize |
All request and response objects follow these standardized schemas.
UcpCheckoutSessionRequest
| Parameter | Type | Description |
|---|---|---|
line_items |
UcpLineItemRequest[] (min 1) | Items to purchase. |
currency |
String | ISO 4217 currency code. |
buyer |
UcpBuyer | Buyer details and consent. |
context |
UcpContext | Shopper context. |
fulfillment |
UcpFulfillment | Fulfillment selection. |
discounts |
UcpDiscountsRequest | Discount codes. |
attribution |
Object | Attribution metadata (stored, not echoed). |
signals |
Object | Context signals forwarded to the merchant. |
UcpCheckoutSessionResponse
| Parameter | Type | Description |
|---|---|---|
id |
String | Session identifier. |
status |
String | Session status. See Session statuses. |
currency |
String | Session currency. |
line_items |
UcpLineItemResponse[] | Resolved cart lines with merchant pricing. |
totals |
UcpTotal[] | Order-level totals. |
payment |
UcpPayment | Payment instruments state. |
links |
UcpLink[] | Legal compliance links. |
ucp |
UcpEnvelope | Protocol envelope: version, status, capabilities, payment handlers. |
buyer |
UcpBuyer | Echoed buyer details. |
fulfillment |
UcpFulfillment | Resolved fulfillment methods and options. |
discounts |
UcpDiscountsResponse | Applied and submitted discounts. |
messages |
UcpMessage[] | Structured messages. Always evaluate. |
order |
UcpOrder | Present once the order is placed. |
continue_url |
String | Step-up URL when status is requires_escalation. |
UcpCompleteSessionRequest
| Parameter | Type | Description |
|---|---|---|
payment |
UcpPayment | Payment instruments to charge. |
signals |
map | Completion-time signals. |
UcpLineItemRequest
| Parameter | Type | Description |
|---|---|---|
item |
UcpItem | The item reference. |
quantity |
Integer (min 1) | Units requested. |
id |
String | Client-assigned line identifier. |
UcpLineItemResponse
| Parameter | Type | Description |
|---|---|---|
id |
String | Line identifier within the session. |
item |
UcpItem | Resolved item, including merchant price. |
quantity |
Integer | Units. |
totals |
UcpTotal[] | Per-line totals in minor units. |
UcpItem
| Parameter | Type | Description |
|---|---|---|
id |
String (minLength 1) | Merchant product or SKU identifier. |
price |
Integer (int64, min 0) | Unit price in minor units (merchant-authoritative). |
title |
String | Display title. |
UcpBuyer
| Parameter | Type | Description |
|---|---|---|
email |
String (email, max 256) | Buyer email. |
first_name |
String (max 256) | Buyer first name. |
last_name |
String (max 256) | Buyer last name. |
consent |
UcpBuyerConsent | Consent flags forwarded to the merchant. |
UcpBuyerConsent
| Parameter | Type | Description |
|---|---|---|
analytics |
Boolean | Analytics consent. |
marketing |
Boolean | Marketing consent. |
preferences |
Boolean | Preferences consent. |
sale_of_data |
Boolean | Sale-of-data consent. |
UcpContext
| Parameter | Type | Description |
|---|---|---|
address_country |
String | ISO 3166-1 alpha-2 country/region. |
address_region |
String | Region or state. |
postal_code |
String | Postal or ZIP code. |
currency |
String | Currency hint (resolution order: request → context → merchant default). |
language |
String | Preferred language, for example, en-US. |
intent |
String | Shopper intent hint. |
eligibility |
String[] | Eligibility signals evaluated by the merchant. |
UcpFulfillment
| Parameter | Type | Description |
|---|---|---|
methods |
UcpFulfillmentMethod[] | Available or selected fulfillment methods. |
UcpFulfillmentMethod
| Parameter | Type | Description |
|---|---|---|
id |
String | Method identifier. |
type |
String | Fulfillment type. Possible values: shipping, pickup. |
line_item_ids |
String[] | Line items this method covers. |
destinations |
UcpFulfillmentDestination[] | Candidate destinations. |
selected_destination_id |
String | Chosen destination id. |
groups |
UcpFulfillmentGroup[] | Option groups per line-item set. |
UcpFulfillmentDestination
| Parameter | Type | Description |
|---|---|---|
id |
String (minLength 1) | Destination identifier. |
street_address |
String | Street address. |
extended_address |
String | Apartment, suite, unit. |
address_locality |
String | City or locality. |
address_region |
String | State or region. |
address_country |
String | ISO 3166-1 alpha-2 country/region. |
postal_code |
String | Postal or ZIP code. |
UcpFulfillmentGroup
| Parameter | Type | Description |
|---|---|---|
id |
String (minLength 1) | Group identifier. |
line_item_ids |
String[] | Line items in this group. |
options |
UcpFulfillmentOption[] | Selectable options for the group. |
selected_option_id |
String | Chosen option id. |
UcpFulfillmentOption
| Parameter | Type | Description |
|---|---|---|
id |
String | Option identifier. Pass as selected_option_id. |
title |
String | Display name, for example, Express. |
description |
String | Additional detail. |
totals |
UcpTotal[] | Cost of the option in minor units. |
UcpDiscountsRequest
| Parameter | Type | Description |
|---|---|---|
codes |
String[] | Discount or promo codes to apply. |
UcpDiscountsResponse
| Parameter | Type | Description |
|---|---|---|
codes |
String[] | All submitted codes. |
applied |
UcpAppliedDiscount[] | Successfully applied discounts. |
UcpAppliedDiscount
| Parameter | Type | Description |
|---|---|---|
amount |
Integer (int64) | Discount amount in minor units. |
code |
String | Submitted code. |
title |
String | Human-readable discount name. |
automatic |
Boolean | true if applied without a code. |
method |
String | Allocation method. |
eligibility |
String | Eligibility basis. |
priority |
Integer | Application priority. |
provisional |
Boolean | true if not yet finalized. |
allocations |
UcpDiscountAllocation[] | Per-line breakdown (path, amount). |
UcpPayment
| Parameter | Type | Description |
|---|---|---|
instruments |
UcpPaymentInstrument[] | Payment instruments. |
UcpPaymentInstrument
| Parameter | Type | Description |
|---|---|---|
id |
String | Instrument identifier. |
handler_id |
String | Handler from ucp.payment_handlers. |
type |
String | Instrument type, for example, card. |
selected |
Boolean | Whether this instrument is selected to charge. |
credential |
UcpPaymentInstrumentCredential | Tokenized credential. |
display |
UcpPaymentInstrumentDisplay | Masked display metadata. |
billing_address |
UcpFulfillmentDestination | Billing address for the instrument. |
UcpPaymentInstrumentCredential
| Parameter | Type | Description |
|---|---|---|
token |
String | UCP token from the tokenization handler. |
type |
String | Credential type. |
UcpPaymentInstrumentDisplay
| Parameter | Type | Description |
|---|---|---|
brand |
String | Card brand, for example, visa. |
last_digits |
String | Last digits for display. |
email |
String | Associated email. |
rich_text_description |
String | Formatted description. |
UcpEnvelope (ucp)
| Parameter | Type | Description |
|---|---|---|
version |
String | Protocol version. |
status |
String | Envelope status, for example, success or error. |
capabilities |
map | Supported capabilities keyed by name, for example, checkout. |
payment_handlers |
map | Handlers keyed by merchant identifier. See UcpPaymentHandler. |
UcpPaymentHandler
| Parameter | Type | Description |
|---|---|---|
id |
String | Handler id, for example, adyen. Use as handler_id at Complete session. |
version |
String | Handler version. |
config |
UcpPaymentHandlerConfig | Handler configuration. |
UcpPaymentHandlerConfig
| Parameter | Type | Description |
|---|---|---|
merchant_id |
String | Merchant identifier to bind at tokenization. |
allowed_payment_methods |
UcpAllowedPaymentMethod[] | Accepted methods, each with a type. |
UcpTotal
| Parameter | Type | Description |
|---|---|---|
type |
String | Total type, for example, subtotal, tax, shipping, total. |
amount |
Integer (int64) | Amount in minor units. For example, 12900 = $129.00. |
UcpLink
| Parameter | Type | Description |
|---|---|---|
type |
String | Link type. Possible values: terms_of_service, privacy_policy, return_policy. |
url |
String | Absolute URL. |
UcpMessage
| Parameter | Type | Description |
|---|---|---|
code |
String | Machine-readable reason code. |
content |
String | Human-readable message. Surface when type is error. |
type |
String | Message type. Possible values: error, warning, info. |
severity |
String | Handling guidance. Possible values: recoverable, requires_buyer_input, requires_buyer_review, unrecoverable. |
path |
String | JSON path to the affected field. |
UcpOrder
| Parameter | Type | Description |
|---|---|---|
id |
String | Order identifier. |
permalink_url |
String | Permanent URL to the merchant order page. |
UcpTokenizeRequest
| Parameter | Type | Description |
|---|---|---|
binding |
UcpBinding | Binding context (checkout_id, identity). |
credential |
UcpCredential | Card credential to tokenize. |
session_context |
UcpSessionContext | Device and network context. |
UcpBinding
| Parameter | Type | Description |
|---|---|---|
checkout_id |
String (minLength 1) | Session id this token is bound to. |
identity |
UcpIdentity | Participant identity the token is bound to. |
UcpIdentity
| Parameter | Type | Description |
|---|---|---|
access_token |
String (minLength 1) | The public merchant identifier. |
UcpCredential
| Parameter | Type | Description |
|---|---|---|
type |
String | Credential discriminator. Value: card. |
card_number_type |
String | Card number type. Possible values: fpan, network_token. |
number |
String (12–19 digits) | Card number. |
cryptogram |
String | Required for network_token. |
eci_value |
String (max 2) | ECI value for network tokens. |
expiry_month |
Integer (1–12) | Expiry month. |
expiry_year |
Integer | Expiry year (four digits). |
cvc |
String (3–4 digits) | Security code. |
name |
String | Cardholder name. |
UcpSessionContext
| Parameter | Type | Description |
|---|---|---|
ip_address |
String | Shopper IP address. |
user_agent |
String | Shopper user agent. |
accept_language |
String | Accept-Language value. |
device_fingerprint |
String | Device fingerprint. |
session_id |
String | Agent-shopper session id. |
UcpTokenizeResponse
| Parameter | Type | Description |
|---|---|---|
token |
String | The UCP token value. Single-use, valid one hour. |