에이전틱 체크아웃

에이전틱 체크아웃은 에이전틱 커머스에서 거래를 완료하는 단계입니다. 세션 상태 머신, 범위가 제한된 결제 토큰, 사람 개입 지점, 주문 웹훅, 아직 정리되지 않은 차지백 쟁점을 설명합니다.

최초 게시: 2026년 7월 3일 · 최근 업데이트: 2026년 8월 9일 · Advanced
언어

에이전틱 체크아웃은 AI 에이전트가 구매자를 대신해 구매를 생성·수정·완료하는 에이전틱 커머스의 거래 완료 기능입니다. ACP와 UCP의 구성 요소이지 독립 프로토콜은 아닙니다. 기술적으로는 상태 머신입니다. ACP는 체크아웃 세션을 not_ready_for_payment 상태에서 ready_for_payment 상태로, 필요하면 requires_escalation 또는 authentication_required 상태로, 마지막에는 completed 상태로 이동시킵니다. UCP의 흐름은 incomplete 상태에서 requires_escalation 단계를 거쳐 ready_for_complete 상태로 이어집니다. 에스컬레이션 상태는 로그인, 3DS 추가 인증, 주소 확인, B2B 승인처럼 사람이 권한을 부여해야 하는 내장 접점입니다. 결제는 판매자·금액·시간·사용 횟수가 제한된 토큰을 사용하므로 에이전트가 원시 카드 정보를 보유하지 않습니다. 주문 확인은 판매자가 HMAC 서명된 전체 객체 웹훅을 보내는 푸시 방식입니다. 판매자는 계속 merchant of record이므로 정산·환불·차지백은 판매자와 PSP가 담당하지만, AI 에이전트가 구매자인 거래의 차지백 증거 문제는 2026년 중반 현재 해결되지 않았습니다. 도입도 초기 단계로, OpenAI가 2026년 3월 검색 후 리디렉션 방식으로 방향을 바꾸기 전 ChatGPT 체크아웃을 운영한 Shopify 판매자는 약 12곳에 불과했습니다.

요약 — 에이전틱 체크아웃은 체크아웃 세션을 생성·수정·완료 또는 취소하고, 결제를 위임하고, 주문을 확인하는 에이전틱 커머스의 거래 완료 기능입니다. 독립 프로토콜이 아니라 ACP와 UCP의 구성 요소입니다. 기술적 중심은 상태 머신입니다. ACP는 세션을 not_ready_for_paymentready_for_payment → 필요 시 requires_escalation/authentication_requiredcompleted로 이동시키며, UCP의 incompleterequires_escalationready_for_complete 흐름과 대응합니다. 에스컬레이션 상태는 의도적으로 만든 사람 개입 접점입니다. 결제 위임에는 판매자·금액·시간·사용 횟수가 제한된 토큰을 사용하므로 에이전트가 원시 카드 정보를 보유하지 않습니다. 주문 확인은 푸시 방식입니다. 판매자는 HMAC으로 서명한 전체 객체 웹훅을 POST합니다. 판매자는 계속 merchant of record이므로 정산·환불·차지백은 판매자와 PSP가 담당하지만, 차지백의 증거 체계는 2026년 중반 현재 실제로 해결되지 않았습니다. 도입하기 전에 멱등성이 보장되는 재시도, 웹훅 서명 검증, 에스컬레이션 경로를 구축하고 시험하세요.

Evidence for this claim OpenAI's commerce specification models checkout as a stateful API flow with explicit completion and escalation states. Scope: OpenAI commerce implementation; other agentic checkout systems may use different state names. Confidence: high · Verified: OpenAI Commerce: Checkout specification Evidence for this claim OpenAI's delegated-payment specification uses scoped payment tokens and keeps the merchant as merchant of record. Scope: OpenAI delegated-payment flow, not a guarantee that every agentic checkout implementation handles payment identically. Confidence: high · Verified: OpenAI Commerce: Payment specification

범위: 프로토콜 전체가 아니라 거래 단계

에이전틱 체크아웃은 하나의 기능입니다. ACP에서는 Product Feed, Delegate Payment, Delegate Authentication, Orders/Webhooks와 함께 다섯 블록 중 하나인 Agentic Checkout 블록입니다. UCP에서는 기능 협상을 사용하는 더 넓은 명세 안의 체크아웃 기능입니다. ACP와 UCP 관련 글은 피드 품질, /.well-known/ucp 프로필, 2026년 3월 방향 전환이 상품 탐색에 미친 영향 등 주변 프로토콜과 비즈니스 맥락을 설명합니다. 이 글은 세션 수명 주기, 결제 위임, 사람의 개입 지점, 주문 확인, 책임처럼 거래를 완료하는 작동 방식에 집중합니다.

ACP 관련 글에서 가져와 여기서 다시 논쟁하지 않을 전제는 하나입니다. 에이전트는 크롤링된 HTML이 아니라 피드와 API를 상대로 거래합니다. 따라서 여기서 최적화할 대상은 페이지 문구가 아니라 체크아웃의 신뢰성입니다.

체크아웃 세션 상태 머신

에이전틱 체크아웃을 이해할 때 가장 중요한 차이점이자 많은 설명에서 빠지는 사실은 체크아웃이 상태를 가진 세션이며, 그 상태가 정의된 머신을 따라 이동한다는 점입니다.

ACP의 Checkout 참조 문서에는 전체 상태 열거형이 나옵니다. incomplete, not_ready_for_payment, requires_escalation, authentication_required, ready_for_payment, pending_approval, complete_in_progress, completed, canceled, in_progress, expired입니다. 정상 경로는 not_ready_for_paymentready_for_paymentin_progresscompleted로 짧으며, 다른 종료 상태는 canceled입니다. ACP의 수명 주기 개념에 따르면 필수 이행 옵션이 제공되면 세션이 not_ready_for_payment에서 ready_for_payment로 전환됩니다. 결제가 실패하면 재시도를 위해 다시 ready_for_payment로 돌아갈 수 있습니다.

눈여겨볼 상태는 정상 경로에 속하지 않는 상태입니다.

  • requires_escalation / authentication_required — 에이전트 혼자 진행할 수 없으며 사람의 조치나 추가 인증이 필요합니다(다음 절 참조).
  • pending_approval — 예를 들어 B2B 구매 주문 승인처럼 승인을 기다리는 상태입니다.
  • expired — 세션 시간이 만료된 상태입니다(CheckoutSession에는 expires_at이 포함됩니다).

이는 UCP 체크아웃의 기본 설계와 같습니다. UCP는 incompleterequires_escalationready_for_complete로 진행하고, requires_escalation에서는 continue_url을 통해 사람에게 제어권을 돌려줍니다(UCP 관련 글에서 설명). 서로 다른 두 프로토콜이 하나의 패턴으로 수렴합니다. 체크아웃은 사람에게 무언가를 묻기 위해 멈추지 않고는 항상 완료될 수 없습니다. 이는 나중에 덧붙인 제약이 아니라 설계의 핵심 형태입니다.

Escalation is a first-class checkout state: the agent pauses, a human completes the required step, and the same session resumes. 출처: Agentic Commerce Protocol

The happy path assembles the cart and fulfillment choice, becomes ready for payment, processes a scoped payment token, and completes. When a step-up is needed, the session enters requires escalation or authentication. A human completes login, 3-D Secure, or approval, then the session resumes at payment processing.

© Patrick Stox LLC · CC BY 4.0 ·

ACP를 구현하는 사람에게 실용적인 주의점이 있습니다. 형식이 잘못된 요청은 HTTP 수준 오류 객체를 반환하며 typeinvalid_request, request_not_idempotent, processing_error, service_unavailable 중 하나입니다. 반면 형식상 유효한 세션 안의 비즈니스 로직 문제는 HTTP 오류가 아니라 세션의 messages[] 배열에 MessageError 객체로 반환됩니다. 둘 다 처리해야 하며 초기 통합 과정에서 혼동하기 쉽습니다.

결제 위임의 작동 방식

결제 위임 계층의 핵심 목적은 원시 카드 정보가 에이전트에 절대 전달되지 않게 하는 것입니다. 에이전트에 카드 번호를 주는 대신 구매자의 결제 정보를 범위 제한 토큰으로 변환합니다.

OpenAI의 Delegated Payment 명세에 따르면 위임 결제 페이로드는 판매자의 PSP 또는 볼트로 직접 전송되고, PSP나 볼트는 PCI 범위 밖에서 해당 위임 결제에 한정된 결제 토큰을 반환합니다. 토큰은 네 가지 축에서 제한됩니다.

  • reason — 현재 값은 일회용을 뜻하는 "one_time"입니다.
  • max_amount — 청구액을 체크아웃 합계로 제한해 초과 청구에 사용할 수 없게 합니다.
  • expires_at(RFC 3339) — 토큰의 명확한 만료 시각입니다.
  • merchant_id + checkout_session_id — 판매자 한 곳과 세션 하나에 묶입니다.

따라서 위임 토큰은 판매자에 고정되고, 금액 상한이 있으며, 시간이 제한되고, 한 번만 사용할 수 있습니다. 재사용 가능한 카드 자격 증명을 맡기지 않고도 에이전트가 “돈을 쓰게” 하는 장치입니다. ACP에서 Stripe의 Shared Payment Token은 Delegated Payment Spec과 호환되는 첫 구현으로 설명되며 다른 PSP도 추가될 예정입니다. UCP는 결제 수단핸들러를 분리하는 유사한 비결합 모델을 사용합니다(UCP 관련 글 참조).

여기서 PCI 범위는 실제 설계 결정입니다. OpenAI 명세는 Delegated Payment Spec과 직접 통합하면 카드 소유자 데이터를 직접 처리하게 되어 PCI 범위에 영향을 줄 수 있고, 직접 통합에는 PCI DSS Level 1 자격이 필요하다고 명시합니다. 대부분의 판매자에게는 네트워크 토큰이나 위임을 처리하는 PSP를 사용하는 토큰화 경로가 카드 소유자 데이터를 환경 밖에 두는 방법입니다. “CHD를 직접 처리할지”와 “PSP가 토큰화하게 할지”의 선택이 첫 번째 아키텍처 결정이며, 의사결정 탭에서 설명합니다.

사람이 개입해야 하는 지점

“구매자가 여전히 승인한다”는 말은 맞지만 모호합니다. 프로토콜 수준의 트리거는 구체적입니다. 트리거의 이름을 알아야 조용히 막다른 길에 빠지지 않고 인계 흐름을 설계할 수 있습니다.

  • 3-D Secure / 추가 인증. ACP는 InterventionCapabilities로 이를 모델링합니다. 지원 유형에는 3dsaddress_verification이 있고, enforcement 수준은 always/conditional/optional, display_contextnative/webview/modal/redirect입니다. 추가 인증 결과는 authenticated, denied, rejected, abandoned, canceled, not_supported 같은 값을 가진 AuthenticationResult로 반환됩니다.
  • requires_escalation / authentication_required 상태. “계속 진행하기 전에 사람이나 추가 검사가 필요하다”는 뜻의 세션 상태입니다.
  • B2B approval_required. PaymentData 객체에는 purchase_order_number, payment_terms, due_date, approval_required 같은 B2B 필드가 있습니다. 에이전틱 체크아웃은 DTC에만 해당하지 않습니다.
  • UCP의 continue_url 인계. UCP의 requires_escalation은 구매자가 로그인, 확인, 연령 확인 등을 직접 완료할 continue_url을 제공합니다. 같은 접점이지만 프로토콜은 다릅니다.

핵심은 깔끔하게 에스컬레이션되는 거래가 조용히 막히는 거래보다 훨씬 낫다는 것입니다. 에스컬레이션 경로를 오류 사례가 아니라 일급 흐름으로 설계하세요.

주문 확인은 풀 방식이 아니라 푸시 방식

경쟁 설명에서 대부분 빠지는 부분이 있습니다. 구매 후 에이전트 플랫폼은 주문 상태를 확인하려고 API를 계속 폴링하지 않습니다. 판매자가 서명된 웹훅을 푸시합니다.

ACP 웹훅 참조에 따르면 판매자는 에이전트 플랫폼이 이행 단계의 사실과 동기화되도록 주문 이벤트를 POST합니다. 신규 주문에는 order_create, 상태 변경에는 order_update 두 이벤트 유형을 사용합니다. 참조된 주문 상태에는 created, manual_review, confirmed, canceled, shipped, fulfilled가 있습니다. 구현자가 알아야 할 세 가지 세부 사항은 다음과 같습니다.

  • 요청은 반드시 서명해야 합니다. Merchant-Signature 헤더의 HMAC 서명을 사용하며, 서명이 없거나 잘못되면 401을 반환합니다.
  • data 필드에는 증분 차이가 아니라 전체 Order 객체가 들어가야 합니다. 매번 전체 상태를 전송합니다.
  • 처리할 응답 코드: 성공 200, 잘못된 서명 401, 속도 제한 429입니다.

따라서 “플랫폼은 주문 완료를 어떻게 아는가?”라는 질문의 답은 구체적입니다. 판매자가 서명된 전체 객체 POST로 알려 주며, 플랫폼의 429 역압도 처리해야 합니다.

사기, 차지백, 책임: 정해진 것과 정해지지 않은 것

가장 솔직하고 차별적인 부분이므로 “정해진 것”과 “열린 문제”의 경계를 분명히 하겠습니다.

정해진 것: merchant of record. OpenAI의 결제 명세는 OpenAI가 merchant of record가 아니라고 명시합니다. ACP에서 판매자는 자체 PSP를 사용하며 정산, 환불, 차지백, 규정 준수는 판매자와 해당 PSP의 책임입니다. Rye의 Arjun Bhargava도 두 프로토콜 모두 판매자를 merchant of record로 유지하며 판매자가 이행, 차지백, 분쟁을 책임진다고 독립적으로 확인합니다. 이는 두 관련 글의 merchant of record 설명과 일치하므로 여기서는 그 전제를 이어받습니다.

정해지지 않은 것: 차지백 증거 체계. merchant of record는 기본적으로 누가 분쟁 비용을 부담하는지는 말해 줍니다. 그러나 “고객”이 AI 에이전트를 통해 거래했을 때 어떻게 분쟁에서 이길지는 알려 주지 않습니다. 전통적인 차지백 방어는 IP, 기기, 탐색 행동, 사람이 “구매”를 클릭한 기록처럼 사람이 만든 증거 흐름에 의존합니다. 에이전트가 만든 승인 로그는 다른 종류의 증거이며 카드 네트워크의 분쟁 규칙은 이를 전제로 작성되지 않았습니다. Chargeflow의 사기 전문가 Ben Herut는 에이전틱 커머스가 기존 시스템이 해석할 수 없는 새로운 사기와 혼란의 층을 더한다고 설명합니다. Chargeflow의 분석은 더 단호합니다. 아직 명확한 답은 없으며 카드 네트워크, 발급사, 플랫폼 제공업체가 모두 이 문제를 검토하고 있습니다.

새 프레임워크는 등장 중일 뿐 완성되지 않았습니다. Visa의 Trusted Agent Protocol은 사용자 경험을 해치지 않으면서 사칭을 막도록 판매자가 에이전트의 신원과 의도를 실시간 검증하게 하는 표준 기반 프레임워크로 설명됩니다. 2025년 4월 발표된 Mastercard의 Agent Pay는 Digital Enablement Service를 확장한 “Agentic Tokens”를 사용합니다. 제3자 보도(Fintech Wrap Up/Finextra)에 따르면 Mastercard의 책임 배분은 표준 토큰화 거래와 같은 규칙을 따르고, 토큰이 적법하게 발급되어 승인 때 수락되면 발급사가 사기 책임을 진다고 합니다. 하지만 Mastercard 자체 문서에 나오기 전까지 이 구체적 배분은 확인된 사실이 아니라 보도된 내용으로 다뤄야 합니다. Visa의 소비자용 무책임 보장은 무단 청구로부터 카드 소유자를 보호할 뿐, 실제 열린 문제인 판매자 측 분쟁을 해결하지 않습니다. 둘을 혼동하지 마세요.

판매자가 구현하고 시험해야 할 항목

기존 콘텐츠는 깨끗한 피드와 로열티 프로그램 같은 전략적 준비를 조언합니다. 다음은 실제 도입 전에 구축하고 검증해야 할 운영 계층입니다.

  • PCI 방식을 결정하세요. 토큰화·네트워크 토큰 경로와 직접 CHD 처리(Level 1) 중 선택합니다. 대부분의 판매자는 PSP가 위임을 맡게 하는 편을 원합니다.
  • 재시도가 멱등성을 보장하게 하세요. ACP에 request_not_idempotent 오류 유형이 있는 데는 이유가 있습니다. 에이전트나 불안정한 네트워크는 생성·완료 호출을 재시도합니다. 멱등성 키를 보내고 같은 키의 반복 호출을 안전하게 처리해 이중 청구나 주문 중복 생성을 막으세요.
  • 웹훅 서명을 검증하세요. 모든 수신 주문 웹훅의 Merchant-Signature HMAC을 확인하고 불일치하면 거부하며, 부하 상황에서 200/429를 올바르게 반환하는지 확인하세요.
  • 샌드박스에서 에스컬레이션 경로를 시뮬레이션하세요. requires_escalation/authentication_required를 강제로 발생시키고 3DS 추가 인증을 실행한 뒤, AuthenticationResult 처리가 authenticated뿐 아니라 denied/rejected/abandoned까지 다루는지 확인하세요.
  • 피드와 체크아웃 가격의 일치를 대조하세요. 에이전트가 피드에서 본 가격과 체크아웃 가격이 다르면 신뢰가 빠르게 무너집니다. ACP 관련 글에서는 피드 관점에서 설명하지만 체크아웃에서 가장 큰 문제가 됩니다.
  • 에이전트 주문 귀속 체계를 마련하세요. 완료된 에이전틱 체크아웃에는 GA4 세션이 없을 수 있습니다. 웹사이트 방문을 기다리지 말고 주문·OMS 수준에서 추적하세요.

테스트 SOP와 치트 시트 탭에서 이를 구체적인 합격 기준으로 바꿉니다.

2026년 중반 현재의 위치

홍보 자료가 아니라 도입 현실을 기준으로 판단하세요. Shopify 사장 Harley Finkelstein에 따르면 AI 체크아웃 도구를 실제 사용하는 Shopify 판매자는 약 12곳으로 전체 판매자 기반에 비하면 미미했습니다. OpenAI도 온보딩, 정확성, 여러 상품 장바구니 문제를 겪은 뒤 2026년 3월 완전한 인채팅 Instant Checkout을 검색 후 리디렉션 방식으로 축소했습니다. Semrush의 Leigh McKenzie는 마찰을 잘 요약했습니다. 수천만 SKU의 실시간 카탈로그 정규화는 10년 단위 문제이고, 소비자는 여전히 Apple Pay, Google Wallet, Amazon 원클릭처럼 신뢰하는 체크아웃 흐름을 기본으로 선택합니다.

그렇다고 에이전틱 체크아웃이 실체 없는 기술이라는 뜻은 아닙니다. 위임 결제와 서명된 주문 웹훅을 사용해 세션을 프로그래밍 방식으로 생성·수정·완료하는 프로토콜 기능은 실제로 존재하고 명세화되어 있으며 구축할 가치가 있습니다. 다만 “이미 일반적”이지 않을 뿐입니다. 마지막 단계가 채팅 안에서 끝날지 사이트에서 끝날지는 이미 한 번 바뀌었고 다시 바뀔 수 있는 구현 세부 사항입니다.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.