본문으로 건너뛰기

충전 청약철회

POST/v1/organizations/{org_id}/topups/{order_id}/withdraw

결제 후 7일 안에 한 번도 쓰지 않은 충전 건 전체를 환불합니다, 원화는 결제 수단으로 전액 취소됩니다

콘솔 세션 전용입니다, 조직 역할 owner, admin만 부를 수 있고 API 키로 부르면 403 console_only입니다

  • 환불 원화는 그 충전 건의 결제 원화 전체입니다, 그 밖의 환불은 없습니다
  • 그 건에서 1센트라도 쓰였거나 취소, 부분 취소, 분쟁 이력이 있으면 거절합니다, 서버가 PortOne에서 결제 완료 상태를 다시 확인합니다
  • 신청하는 순간 그 건의 크레딧을 잠가 실행 중이거나 대기 중인 잡이 쓰지 못하게 합니다, 남은 잔액으로 실행 중 잡을 정산할 수 없으면 거절합니다
  • 같은 충전 건에 다시 신청하면 처음 환불을 그대로 돌려줍니다, 조직마다 30일에 3번까지입니다

Headers

  • Cookie: string
    콘솔 로그인 세션 쿠키, 콘솔 전용 엔드포인트라 API 키로 부르면 403 console_only입니다
  • Origin: string
    콘솔 세션으로 상태를 바꿀 때 같은 출처(https://xenoci.com)여야 합니다, API 키 요청에는 필요 없습니다
  • Idempotency-Key: optional string
    24시간 안에 같은 키로 다시 보내면 처음 응답을 그대로 돌려줍니다, 같은 키에 다른 본문이면 409 idempotency_conflict
    255자 이하

Path Parameters

  • org_id: string
    조직 ID
    형식 ^org_[A-Za-z0-9]+$
  • order_id: string
    충전 주문 ID
    형식 ^[A-Za-z0-9_-]{6,64}$

Returns

200 application/json

  • Withdrawal: object
    • id: string
      ID
    • order_id: string
      주문 ID
    • status: "requested" or "done" or "failed"
      requested, done, failed
    • cancel_krw: integer
      결제 수단으로 돌아가는 원화
    • debit_micro_usd: integer
      잔액에서 빠지는 크레딧
      최소 0
    • debit_usd: string
      같은 금액의 USD 문자열(센트, 소수 2자리)
      형식 ^-?[0-9]+\.[0-9]{2}$
    • created_at: optional string
      만든 시각
      RFC 3339 UTC 시각

오류

  • invalid_request: HTTP 400
    본문이나 쿼리가 검증에 실패했습니다, error.details.fields에 문제 필드가 있습니다
  • session_required: HTTP 401
    콘솔 엔드포인트를 유효한 콘솔 세션 쿠키 없이 불렀습니다
  • console_only: HTTP 403
    콘솔 세션 전용 엔드포인트입니다, API 키로는 결제, 키, 멤버 관리를 할 수 없습니다
  • insufficient_permission: HTTP 403
    역할이나 키 권한(run/read)이 이 요청을 허용하지 않습니다
  • not_found: HTTP 404
    자원이 없거나 이 호출자에게 보이지 않습니다
  • conflict: HTTP 409
    자원 상태가 이 요청을 허용하지 않습니다, 다시 읽은 뒤 시도하세요
  • idempotency_conflict: HTTP 409
    같은 Idempotency-Key를 다른 본문으로 다시 썼습니다
  • refund_not_allowed: HTTP 409
    자동 환불 조건이 아닙니다, error.details.reason이 used, already_cancelled, disputed, payment_not_paid, credit_in_use, too_many_refunds 중 하나입니다
  • withdrawal_window_closed: HTTP 409
    이 충전의 7일 청약철회 기간이 지났습니다
  • rate_limited: HTTP 429, 다시 시도 가능
    이 키 또는 조직의 요청이 너무 많습니다, retry_after_s만큼 기다리세요
  • internal_error: HTTP 500, 다시 시도 가능
    예상하지 못한 오류입니다, 다시 시도하고 반복되면 request_id와 함께 알려 주세요
  • payments_unavailable: HTTP 503, 다시 시도 가능
    이 환경에서는 충전이 꺼져 있습니다(기능 플래그 또는 결제 키 없음)

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

다음 단계