준비하기

요청·응답 규격

서명(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은 KST yyyyMMddHHmmss. 서명에 포함되므로 요청 본문과 같은 값을 써야 합니다.
  • 서명이 다르면 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 또는 지원 문의로 알려주세요.