본문으로 건너뛰기

충전 주문 조회

충전 주문 하나를 돌려줍니다, 결제창에서 돌아온 뒤 상태를 확인할 때 씁니다

GET /v1/organizations/{org_id}/topups/{order_id}

인증

방식허용조건
API 키 (Authorization: Bearer xci_live_…)불가콘솔 세션 전용, 키로 부르면 403 console_only
콘솔 세션 쿠키가능조직 역할 owner, admin

참고 서버 구현(2026-10-12 dev 기준)이 계약 초안과 다른 점

  • 핸들러는 server/ci/runner2-topup-routes.js에 있지만 아직 앱에 마운트되지 않았습니다, 지금 호출하면 404 not_found입니다

매개변수

이름위치타입필수설명
org_id경로string필수조직 ID, 형식 ^org_[A-Za-z0-9]+$
order_id경로string필수충전 주문 ID, 형식 ^[A-Za-z0-9_-]{6,64}$

응답

200

필드타입항상설명
order_idstring항상주문 ID, PortOne paymentId로 그대로 씁니다, 형식 ^[A-Za-z0-9_-]{6,64}$
organization_idstring조직 ID
statuspending | confirming | paid | failed | expired | cancelled항상주문 상태
usdinteger항상충전 USD
credit_micro_usdinteger항상적립될 크레딧(µUSD), 최소 0
credit_usdstring항상같은 금액의 USD 문자열(소수 6자리), 형식 ^-?[0-9]+\.[0-9]{6}$
amount_krwinteger항상결제 원화, ceil(usd × 고정 환율), 부가세 포함
supply_krwinteger공급가액
vat_krwinteger항상부가세
fx_daydate항상환율 기준일
fixed_krw_per_usdstring항상주문에 고정된 환율
payment_idstringPortOne paymentId, null 가능
methodstring결제 수단, null 가능
paid_attimestamp 또는 null결제 시각, null 가능
receipt_urlstring영수증 URL, null 가능
cancelled_krwinteger취소된 원화(철회)
withdrawable_untiltimestamp 또는 null청약철회 기한, 결제 시각 + 7일, null 가능
failure_codestring실패 코드, null 가능
created_attimestamp항상만든 시각
expires_attimestamp대기 주문 만료 시각, 만든 뒤 60분
{
  "order_id": "topup_9f3KqZ2mP1",
  "organization_id": "org_7Kq2m9ZtP3",
  "status": "paid",
  "usd": 20,
  "credit_micro_usd": 20000000,
  "credit_usd": "20.000000",
  "amount_krw": 28775,
  "supply_krw": 26159,
  "vat_krw": 2616,
  "fx_day": "2026-10-12",
  "fixed_krw_per_usd": "1438.71",
  "payment_id": "topup_9f3KqZ2mP1",
  "method": "card",
  "paid_at": "2026-10-12T03:11:05Z",
  "receipt_url": "https://…",
  "cancelled_krw": 0,
  "withdrawable_until": "2026-10-19T03:11:05Z",
  "failure_code": null,
  "created_at": "2026-10-12T03:11:05Z",
  "expires_at": "2026-10-12T04:11:05Z"
}

오류

HTTP코드다시 시도뜻
400invalid_request아니오본문이나 쿼리가 검증에 실패했습니다, error.details.fields에 문제 필드가 있습니다
401session_required아니오콘솔 엔드포인트를 유효한 콘솔 세션 쿠키 없이 불렀습니다
403console_only아니오콘솔 세션 전용 엔드포인트입니다, API 키로는 결제, 키, 멤버 관리를 할 수 없습니다
403insufficient_permission아니오역할이나 키 권한(run/read)이 이 요청을 허용하지 않습니다
404not_found아니오자원이 없거나 이 호출자에게 보이지 않습니다
429rate_limited가능이 키 또는 조직의 요청이 너무 많습니다, retryafters만큼 기다리세요
500internal_error가능예상하지 못한 오류입니다, 다시 시도하고 반복되면 request_id와 함께 알려 주세요

오류 봉투 모양과 전체 코드 표는 오류 코드에 있습니다

예시

curl "https://xenoci.com/api/runner/v1/organizations/org_7Kq2m9ZtP3/topups/topup_9f3KqZ2mP1" \
  --cookie "xci_console=$SESSION" \
  -H "Origin: https://xenoci.com"

다음 단계