준비하기
요청·응답 규격
서명(API_SIGN) 생성, 공통 응답 형식, 성공 판정 규칙입니다.
결제 게이트웨이
요청
POST,Content-Type: application/json, 필드명은 대문자 스네이크(TRANS_SEQNO).- 모든 요청에
TRANS_SEQNO,PLATFORM_CODE,STORE_CODE,TRANS_AT,API_SIGN이 들어갑니다.
서명 — API_SIGN
5개 값을 구분자 없이 순서대로 이어 붙여 SHA-256 해시를 만들고 소문자 16진수 64자로 표기합니다.
API_SIGN = sha256_hex( TRANS_SEQNO + PLATFORM_CODE + STORE_CODE + TRANS_AT + API_KEY )import { createHash } from "node:crypto";
const sign = createHash("sha256")
.update(transSeqno + platformCode + storeCode + transAt + apiKey)
.digest("hex");- 필드 순서는 고정입니다.
requestPayment·searchPayment·requestPaymentCancel모두 같은 규칙입니다. TRANS_AT은 KSTyyyyMMddHHmmss. 서명에 포함되므로 요청 본문과 같은 값을 써야 합니다.- 서명이 다르면
RESULT_CODE: "3001"로 거절됩니다.
응답
JSON
{
"result_code": 0,
"result_msg": "성공",
"result_data": {
"RESULT_CODE": "0000",
"RESULT_MSG": "정상적으로 처리 되었습니다.",
"REDIRECT_URL": "https://chewingpay.com/payments?txId=..."
}
}오류 응답 예:
JSON
{ "result_code": -10, "result_msg": "API_SIGN 오류입니다.",
"result_data": { "RESULT_CODE": "3001", "RESULT_MSG": "API_SIGN 오류입니다.", "REDIRECT_URL": "" } }필수값 누락·형식 오류는 result_msg에 필드명: 사유가 나열됩니다. 전체 코드는 에러 코드를 보세요.
청구 서버
- REST JSON. 필드명은 카멜케이스(
studentName). - 인증 헤더
x-access-token. - 응답 형식은 같은 봉투를 씁니다.
JSON
{ "result_code": 0, "result_msg": "성공", "result_data": { "...": "..." } }result_code | 의미 |
|---|---|
0 | 성공 |
-1 | 토큰 없음 |
-2 | 토큰 만료 → 갱신 후 재시도 |
-3 | 파라미터 누락 |
-4 / -10 | 처리 오류. result_msg에 사유 |
청구서 발송 API는 접수 응답만 줍니다(result_data: null). 실제 발송·수납 결과는 청구서 조회로 확인합니다.
문서에 없는 내용이나 오류는 bellight@goatheaven.com 또는 지원 문의로 알려주세요.