commerce

POST /v1/orders/{orderId}/pay

Pay an order that was placed but not charged.

모든 commerce 엔드포인트

모든 개발자 문서

인증

Bearer 토큰으로 API 키를 전송하세요. 이 엔드포인트는 명세에 특정 권한을 명시하지 않으므로, 가정하기보다는 키에 필요한 최소한의 권한을 부여하고 응답을 확인하세요.

이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.

무료 체험하기

대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.

curl -X POST https://api.zinndigital.com/v1/orders/{orderId}/pay \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{  }'

로그인하셨나요? 대시보드의 API 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 API를 대상으로 요청을 실행하므로 실제 응답을 확인할 수 있습니다. API 콘솔에서 이 엔드포인트를 여세요

상세 정보

Charges an order left pending_payment (or retries one that is payment_failed), wallet credit first and the remainder on the org's default mandate. This is where the guest funnel's next: "payment" step lands: checkout converts the cart when it places the order, so the cart endpoint cannot settle it afterwards and this is the only surface that can. Idempotent without an Idempotency-Key, unlike checkout. The order already exists and is itself the dedup scope, so a double-submit records the same capture rather than taking a second one. A pay attempt against an already-paid order returns that order unchanged rather than an error. A declined card answers 200, not 402: the attempt was processed exactly as asked and the order comes back payment_failed for the caller to read. Only the platform being unable to charge at all — no gateway configured, or one an operator has deliberately disabled — is a 503. Choosing a gateway. Send gateway to settle this order on a specific rail rather than the org's default mandate — the owner's "settle overdue bills with any gateway they like". It must be one of getOrderPaymentOptions's entries, which is why a reseller's client (who has exactly one) cannot be re-routed. Rails that finish in the browser — PayPal approval, a crypto invoice — answer 200 with the order still pending_payment and a customer_action carrying the URL to send the customer to; the order settles when the gateway's webhook confirms it.

매개변수

이름유형필수설명
orderId (path)UuidThe order's id.

요청 본문

이름유형필수설명
gatewaystring아니요The rail to settle on (stripe, paypal, nowpayments). Omit to use the org's nominated payment method. 422 if it is not one of this order's getOrderPaymentOptions.

응답

이름유형필수설명
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
human_refstringHuman-friendly order reference.
statusOrderStatusAn order's lifecycle state (docs/31 §4.3).
currencyCurrencyCodeISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
subtotal_minorinteger
tax_minorinteger
discount_minorinteger
total_minorinteger
billing_countryobject아니요
placed_atobject아니요
created_atstring
updated_atstring아니요
linesOrderLine[]
paymentsPayment[]
customer_actionobject아니요Present only when the attempt needs the customer to finish it in a browser (PayPal approval, a crypto invoice, a 3-D Secure step). Short-lived and never stored — request it again…

이 엔드포인트가 반환할 수 있는 오류

401 · 403 · 404 · 422 · 429 · 503