결제 웹훅 (예정)
POST
/api/v1/billing/webhooks/{provider}
const url = 'https://dev.api.endueos.com/api/v1/billing/webhooks/example';const options = {method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://dev.api.endueos.com/api/v1/billing/webhooks/example \ --header 'Content-Type: application/json' \ --data '{}'결제 공급자의 웹훅을 받는다. 인증 없음 — 게이트웨이가 그대로 넘긴다.
mock: 받기만 한다.paddle:Paddle-Signature를 확인한다 (틀리면 401).transaction.paid·transaction.completed만 본다 — 우리가 만든 트랜잭션이고 돈을 받았으면 완료한다. 모르는 이벤트·트랜잭션은 200 (ignored).- 그 밖의 공급자는 501
PAYMENT_PROVIDER_UNAVAILABLE.
- None
파라미터
섹션 제목: “파라미터”경로 파라미터
섹션 제목: “경로 파라미터”provider
필수
string
요청 본문필수
섹션 제목: “요청 본문필수”Media typeapplication/json
object
예시자동 생성
{}200
섹션 제목: “200”성공.
Media typeapplication/json
object
data
필수
object
received
필수
boolean
ignored
받았지만 반영하지 않았다 — 그 까닭 (예: event_type·checkout·completed·status_billed). 반영했으면 없다.
string
meta
필수
object
request_id
필수
string
timestamp
필수
string format: date-time
duration
서버 처리 시간(ms).
integer format: int32
예시자동 생성
{ "data": { "received": true, "ignored": "example" }, "meta": { "request_id": "example", "timestamp": "2026-04-15T12:00:00Z", "duration": 1 }}400
섹션 제목: “400”요청 형식이 틀렸다 — VALIDATION_ERROR(details.errors[]) 또는 BAD_REQUEST. 본문은 오류 봉투.
401
섹션 제목: “401”인증이 없거나 무효다 — UNAUTHORIZED. 본문은 오류 봉투.
500
섹션 제목: “500”서버 오류 — INTERNAL_ERROR. 본문은 오류 봉투.
501
섹션 제목: “501”오류. 본문은 오류 봉투.
503
섹션 제목: “503”의존 서비스에 닿지 못했다 — 잠시 뒤 다시. 본문은 오류 봉투.