콘텐츠로 이동

충전 시작 (체크아웃)

POST
/api/v1/billing/checkouts
curl --request POST \
--url https://dev.api.endueos.com/api/v1/billing/checkouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "package_id": "example" }'

내 계정에 충전을 시작한다. checkout_url 로 결제 화면에 보낸다. endue 크레딧 환경이면 410 CHECKOUT_MOVED — /billing/purchase-options 로 산다.

Media typeapplication/json
object
package_id
필수

GET /billing/packages 의 package_id.

string
>= 1 characters
예시자동 생성
{
"package_id": "example"
}

만들었다.

Media typeapplication/json
object
data
필수

충전 한 건. 끝나면(completed) 원장에 topup 이 한 번 붙는다.

object
checkout_id
필수
string
/^chk_[0-9A-HJKMNP-TV-Z]{26}$/
org_id
필수

충전되는 조직 (D-60). 결제가 끝나면 콘솔이 그 조직의 Credit 으로 돌아간다.

string
/^org_[0-9A-HJKMNP-TV-Z]{26}$/
credits
필수
number format: double
price
필수
number format: double
currency
필수
string
provider
필수

결제 공급자 — mock(콘솔의 테스트 결제) · paddle(Paddle, D-59). 체크아웃을 연 때의 설정을 따른다.

string
허용 값: mock paddle
status
필수
string
허용 값: pending completed cancelled expired
checkout_url
필수

결제 화면의 주소 — 콘솔의 결제 화면. paddle 이면 그 화면이 payment_params 로 Paddle 결제창을 띄운다.

string
payment_params
필수
Any of:

Paddle.js 결제창(Paddle.Checkout.open({transactionId}))의 값.

object
client_token
필수

클라이언트 토큰 (공개값 — sandbox 는 test_).

string
environment
필수

sandbox 면 Paddle.Environment.set("sandbox") — 실제 돈이 오가지 않는다.

string
허용 값: sandbox production
transaction_id
필수

Paddle 트랜잭션 (txn_). 체크아웃을 열 때 서버가 만든다.

string
created_at
필수
string format: date-time
completed_at
필수
Any of:
string format: date-time
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration

서버 처리 시간(ms).

integer format: int32
예시
{
"data": {
"checkout_id": "chk_01J9ZK3Q8M4XW7D2N5R6T0V1BC",
"org_id": "org_01J9ZK3Q8M4XW7D2N5R6T0V1BC",
"provider": "mock",
"status": "pending",
"payment_params": {
"environment": "sandbox"
}
}
}

요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.

인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.

이 인증 수단으로는 못 하는 일이다 — FORBIDDEN (예: API 키로 클라우드 기기 만들기). 본문은 오류 봉투.

보관 기간이 지났다 — OUTPUT_EXPIRED. 본문은 오류 봉투.

형식은 맞지만 할 수 없다 — 코드는 위 설명을 본다. 본문은 오류 봉투.

한도를 넘었다 — Retry-After 초 뒤에 다시. 본문은 오류 봉투.

서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.

의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.