충전 요청
은행 입금을 통한 자동충전 요청을 생성합니다.
POST
https://bank.dmolto.com/request새로운 충전 요청을 생성합니다. 생성된 요청은 pending 상태이며, 실제 입금이 확인되면 충전 확인 API로 승인됩니다.
요청 본문
| 필드 | 타입 | 필수 | 제한 | 예시 |
|---|---|---|---|---|
amount충전 요청 금액. KRW 정수입니다. | integer | 필수 | 최소 충전 금액(기본 1,000원) 이상 | 10000 |
depositor실제 계좌에 입금할 입금자명입니다. 공백이나 숫자, 영문은 사용할 수 없습니다. | string | 필수 | 한글 2~4글자 | "홍길동" |
platform요청을 생성한 서비스 식별자입니다. 예: my-service, shopping-mall, game-server | string | 필수 | — | "my-service" |
ref플랫폼에서 생성한 고유 주문 번호입니다. 같은 platform과 ref를 재사용하지 마세요. | string | 필수 | — | "order_1234" |
callback_url이 충전 요청의 승인 또는 거절 결과를 받을 요청 단위 Webhook URL입니다. | string | 선택 | 공개 호스트명 또는 IPv4, HTTP/HTTPS, 포트 1~65,535, 최대 2,048자 | "http://141.11.195.85:12345/webhooks/dmolto" |
서버에 도메인이 없으면 공개 IPv4를 그대로 입력해도 됩니다. dmolto가 Worker로 전달하기 전에 IP 뒤에.nip.io를 자동으로 붙입니다. 예를 들어 141.11.195.85는 내부에서141.11.195.85.nip.io로 변환되며, dmolto Origin 서버가 사용자 서버에 직접 접속하지 않습니다.
curl -X POST "https://bank.dmolto.com/request" \
-H "Authorization: $BANK_API_KEY" \
-H "Content-Type: application/json" \
--max-time 10 \
-d '{
"amount": 10000,
"depositor": "홍길동",
"platform": "my-service",
"ref": "order_1234",
"callback_url": "http://141.11.195.85:12345/webhooks/dmolto"
}'응답
201충전 요청 생성 성공
{
"charge": {
"id": "chg_example123",
"status": "pending",
"expires_at": "2026-08-15T03:03:00Z"
}
}같은 platform/ref가 이미 처리된 요청이면 멱등 응답이 반환될 수 있습니다.
200멱등 응답 예시
{
"charge": {
"id": "chg_example123",
"status": "approved",
"expires_at": "2026-08-15T03:03:00Z"
},
"idempotent_replay": true
}주요 오류
| 상태 | error |
|---|---|
| 400 | invalid_request |
| 400 | invalid_callback_url |
| 400 | amount_below_minimum |
| 403 | plan_billing_forbidden |
| 409 | pending_charge_exists |
| 409 | invalid_plan_payment |
| 429 | cooldown_active |
| 429 | rate_limit_exceeded |