GMP OPEN API

Base URL: https://api.gmpay.kr
v0.0.1

회원

GET /oapi/p/member/checkMemberId 회원 아이디 중복 체크
Name Type Required Description
memberId String Y 중복 체크할 회원 아이디
Name Type Description
val1 String E : 존재 하는 아이디, N : 존재 하지 않는 아이디
{
  "message": "OK",
  "success": true,
  "val1": "E/N"
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/p/member/preAgree 사전 동의 신청
Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
storeName String Y 상점명
ceoName String Y 대표자명
ceoMobile String Y 대표자 핸드폰 번호
email String Y E-mail
bizNo String Y 사업자 등록 번호
{
  "bizNo": "1231212345",
  "ceoMobile": "01012341234",
  "ceoName": "\ub300\ud45c\uc790",
  "email": "test@gmpay.kr",
  "storeName": "\uc0c1\uc810\uba85"
}
{
  "message": "OK",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/p/member/register 회원 가입
Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 회원 아이디
ceo String Y 대표자
passwd String Y 패스워드
bizNo String Y 사업자 등록 번호
stlDayCd String Y 기본 정산일 - DU01 : 익일1일, DU001 : D+1 정산, DU005 : D+5 정산
name String Y 가맹점명
mobile String Y 핸드폰 번호
email String Y E-mail
addr String Y 주소1
addr2 String Y 상세 주소
type1 String Y 업종
type2 String Y 업태
storePhone String Y 매장 전화번호
zipCode String Y 우편번호
productName String Y 주요 제품명
bizType String Y 사업자 타입 - PERSONAL : 개인사업자, CORPORATION : 법인사업자
corpNo String Y 법인 등록번호
taxType String Y 과세 타입 - TAX : 과세, TAX_FREE : 면세
homepage String N 홈페이지
ceoBirth String Y 대표자 생년월일 (yyyyMMdd)
taxEmail String Y 세금계산서 담당자 - E-mail
taxPhone String Y 세금계산서 담당자 - 전화번호
taxManager String Y 세금계산서 담당자 - 이름
saleMan String N 영업사원
{
  "message": "OK",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
GET /oapi/p/member/token 회원 토큰 정보 리턴
Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 취소 토큰을 조회할 회원 아이디
Name Type Description
val1 String 취소 토큰
{
  "message": "Success",
  "success": true,
  "val1": "\ucde8\uc18c \ud1a0\ud070"
}
{
  "message": "Error Message",
  "success": false
}
GET /oapi/p/member/token/v2 회원 토큰 정보 리턴 v2

기존 /oapi/p/member/token 은 그대로 유지되며 취소 토큰만 반환합니다. 본 API(v2)는 취소 토큰과 피드백 토큰을 함께 반환합니다.

Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 토큰을 조회할 회원 아이디
Name Type Description
data.cancelToken String 취소 토큰
data.feedbackToken String 피드백 토큰
{
  "data": {
    "cancelToken": "\ucde8\uc18c \ud1a0\ud070",
    "feedbackToken": "\ud53c\ub4dc\ubc31 \ud1a0\ud070"
  },
  "message": "OK",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/p/member/token/refresh 회원 토큰 재발급

회원의 토큰을 새로 발급합니다. 호출 즉시 기존 취소 토큰과 피드백 토큰은 무효가 되므로, 응답으로 받은 새 토큰으로 교체한 뒤 사용하십시오. 파트너사 본인 및 하위 가맹점만 재발급할 수 있으며, 존재하지 않거나 권한이 없는 회원은 success:false 로 응답합니다.

Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 토큰을 재발급할 회원 아이디
Name Type Description
data.cancelToken String 새 취소 토큰
data.feedbackToken String 새 피드백 토큰
{
  "data": {
    "cancelToken": "\uc0c8 \ucde8\uc18c \ud1a0\ud070",
    "feedbackToken": "\uc0c8 \ud53c\ub4dc\ubc31 \ud1a0\ud070"
  },
  "message": "OK",
  "success": true
}
{
  "message": "\uc811\uadfc \uad8c\ud55c\uc774 \uc5c6\ub294 \ud68c\uc6d0\uc785\ub2c8\ub2e4.",
  "success": false
}

결제

POST /oapi/payment/request 결제 요청
Name Type Required Description
memberId String Y 판매점 아이디
totalPrice Number Y 결제 금액
goodName String Y 상품명
mobile String Y 구매자 핸드폰 번호
email String N 구매자 E-mail
comment String N 결제에 관련된 간략한 설명
feedbackUrl String N 결제 완료, 취소시 결과 값을 통지 받을 URL
returnUrl String N 결제 완료 후 돌아가기 URL
var1 String N 통지 시 함께 적용 수신 받을 값 1
var2 String N 통지 시 함께 적용 수신 받을 값 2
{
  "goodName": "\ud14c\uc2a4\ud2b8 \uc0c1\ud488",
  "memberId": "testid",
  "mobile": "010-0000-0000",
  "totalPrice": 1004
}
Name Type Description
payUrl String 결제 페이지 URL
orderNo String 주문번호 - 취소 호출시 필요

feedbackUrl 설정시 결제 완료, 취소시 전송 되는 파라미터 입니다.

Name Type Description
memberId String 가맹점 아이디
feedbackToken String 피드백 토큰 (설정된 피드백 토큰, 확인 용으로 사용합니다.)
goodName String 상품명
price Number 결제 금액
customerPhone String 고객 연락처 (선택)
paymentState String 결제 상태 - COMPLETE : 결제 완료, CANCEL : 결제 취소
orderNo String 주문번호
payMethod String 결제 수단 - CARD : 카드
cardName String 카드사명
cardNum String 일부 마스킹된 카드 번호
cardQuota String 할부개월
approvalNo String 승인번호
var1 String 추가 필드 1 (선택)
var2 String 추가 필드 2 (선택)
cstUrl String 영수증 URL
{
  "message": "OK",
  "orderNo": "\uc8fc\ubb38\ubc88\ud638 - \ucde8\uc18c \ud638\ucd9c\uc2dc \ud544\uc694",
  "payUrl": "\uacb0\uc81c \ud398\uc774\uc9c0 URL",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/payment/cancel 결제 취소
Name Type Required Description
memberId String Y 판매점 아이디
orderNo String Y 주문 번호 (결제 완료시 리턴)
cancelToken String Y 판매자마다 부여된 취소 토큰
{
  "cancelToken": "\ud310\ub9e4\uc790 \ub9c8\ub2e4 \ubd80\uc5ec\ub41c \ucde8\uc18c \ud1a0\ud070",
  "memberId": "testid",
  "orderNo": "\uc8fc\ubb38\ubc88\ud638"
}
{
  "message": "OK",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
GET /oapi/p/payment/info 결제 정보 조회

피드백으로 전달받은 주문번호로 결제 정보를 조회합니다. 파트너사 본인 및 하위 가맹점의 결제 건만 조회됩니다. 결제가 성사된 건만 조회 대상이며, 결제 전·실패·만료된 주문번호는 모두 존재하지 않는 것으로 응답합니다(data.exists: false). 주문번호가 존재하지 않는 경우에도 success 는 true 이며 data.exists 값으로 존재 여부를 판단합니다 (success:false 가 아닙니다).

Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
orderNo String Y 피드백으로 전달받은 주문번호
Name Type Description
data.exists Boolean 결제 건 존재 여부
data.orderNo String 주문번호
data.state String 결제 상태 - COMPLETE : 결제 완료, CANCEL : 결제 취소
data.totalPrice Number 결제 금액
data.goodName String 상품명
data.payMethod String 결제 수단
data.paySub String 결제 수단 세부 유형
data.payDate String 결제 일시 - ISO-8601 (yyyy-MM-ddTHH:mm:ss), 한국 시간, 오프셋 없음
data.memberId String 가맹점 아이디
data.cardName String 카드사명 (카드 결제인 경우에만)
data.cardNum String 일부 마스킹된 카드 번호 (카드 결제인 경우에만)
data.cardQuota String 할부개월 (카드 결제인 경우에만)
data.approvalNo String 승인번호 (카드 결제인 경우에만)
{
  "data": {
    "approvalNo": "\uc2b9\uc778\ubc88\ud638",
    "cardName": "\uce74\ub4dc\uc0ac\uba85",
    "cardNum": "\uc77c\ubd80 \ub9c8\uc2a4\ud0b9\ub41c \uce74\ub4dc \ubc88\ud638",
    "cardQuota": "\ud560\ubd80\uac1c\uc6d4",
    "exists": true,
    "goodName": "\uc0c1\ud488\uba85",
    "memberId": "\uac00\ub9f9\uc810 \uc544\uc774\ub514",
    "orderNo": "\uc8fc\ubb38\ubc88\ud638",
    "payDate": "2026-09-18T02:00:00",
    "payMethod": "CARD",
    "paySub": "\uacb0\uc81c \uc218\ub2e8 \uc138\ubd80 \uc720\ud615",
    "state": "COMPLETE",
    "totalPrice": 10000
  },
  "message": "OK",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/p/payment/mp/request 등록결제 요청 (카드 등록 URL 발급)

카드 등록 페이지 URL(payUrl)과 mpKey 를 발급합니다. 구매자가 payUrl 에서 카드를 등록하면, 이후 그 mpKey 로 등록결제 실행(/oapi/p/payment/mp/payment) API 를 호출해 실제 결제를 실행합니다.

Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 판매점 아이디
goodName String Y 상품명
customerMobile String Y 구매자 핸드폰 번호
customerNo String Y 구매자 번호 (가맹점에서 부여한 고객 식별값)
customerName String N 구매자명
customerEmail String N 구매자 E-mail
feedbackUrl String N 결제 완료, 취소시 결과 값을 통지 받을 URL
returnUrl String N 결제 완료 후 돌아가기 URL
errorUrl String N 에러 URL
var1 String N 통지 시 함께 적용 수신 받을 값 1
var2 String N 통지 시 함께 적용 수신 받을 값 2
sendSms Boolean N 카드 등록 URL 을 구매자에게 문자로 발송할지 여부 (기본값 false)
{
  "customerMobile": "010-0000-0000",
  "customerNo": "\uad6c\ub9e4\uc790 \ubc88\ud638",
  "goodName": "\ud14c\uc2a4\ud2b8 \uc0c1\ud488",
  "memberId": "testid"
}
Name Type Description
payUrl String 카드 등록 페이지 URL
mpKey String 등록결제 실행시 필요한 키
{
  "message": "\uc694\uccad\ub418\uc5c8\uc2b5\ub2c8\ub2e4.",
  "mpKey": "\ub4f1\ub85d\uacb0\uc81c \uc2e4\ud589\uc2dc \ud544\uc694\ud55c \ud0a4",
  "payUrl": "\uce74\ub4dc \ub4f1\ub85d \ud398\uc774\uc9c0 URL",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/p/payment/mp/payment 등록결제 실행 (빌링)

등록결제 요청(/oapi/p/payment/mp/request)에서 발급받은 mpKey 로 등록된 카드를 이용해 실제 결제를 실행합니다.

Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 판매점 아이디
mpKey String Y 등록결제 요청에서 발급받은 키
totalPrice Number Y 결제 금액
goodName String Y 상품명
buyMobile String N 구매자 핸드폰 번호
buyEmail String N 구매자 E-mail
buyName String N 구매자명
custIp String N 고객 아이피
whereFrom String N 결제 출처
feedbackUrl String N 결제 완료, 취소시 결과 값을 통지 받을 URL
var1 String N 통지 시 함께 적용 수신 받을 값 1
var2 String N 통지 시 함께 적용 수신 받을 값 2
cardQuota String N 할부 개월
{
  "goodName": "\ud14c\uc2a4\ud2b8 \uc0c1\ud488",
  "memberId": "testid",
  "mpKey": "\ub4f1\ub85d\uacb0\uc81c \uc694\uccad\uc5d0\uc11c \ubc1c\uae09\ubc1b\uc740 \ud0a4",
  "totalPrice": 10000
}
Name Type Description
payInfo Object 결제 결과 정보 (cardNum, cardInterest, orderNo, authCode, authDate, appCardName, cstUrl, amt)
{
  "message": "\uacb0\uc81c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.",
  "payInfo": {
    "amt": 10000,
    "appCardName": "\uce74\ub4dc\uc0ac\uba85",
    "authCode": "\uc2b9\uc778\ubc88\ud638",
    "authDate": "\uc2b9\uc778\uc77c\uc2dc",
    "cardInterest": "\ubb34\uc774\uc790 \uc5ec\ubd80",
    "cardNum": "\uc77c\ubd80 \ub9c8\uc2a4\ud0b9\ub41c \uce74\ub4dc \ubc88\ud638",
    "cstUrl": "\uc601\uc218\uc99d URL",
    "orderNo": "\uc8fc\ubb38\ubc88\ud638"
  },
  "success": true
}
{
  "message": "Error Message",
  "success": false
}

현금영수증

POST /oapi/p/cashst/publish 현금영수증 발급
Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 발급 대상 회원 ID
goodName String Y 상품명
receiptType String Y 영수증 타입 - 1 : 소득공제, 2 : 지출증빙
corpTaxType String Y 과세 타입 - TG01 : 과세, TG02 : 면세
receiptIdentity String Y 식별정보 (사업자번호/휴대폰/주민번호)
totalPrice Number Y 총 금액
tradTime String N 거래일시 (yyyyMMddHHmmss), 미입력시 현재시간
comment String N 비고
{
  "corpTaxType": "TG01",
  "goodName": "\ud14c\uc2a4\ud2b8 \uc0c1\ud488",
  "memberId": "testid",
  "receiptIdentity": "01012341234",
  "receiptType": "1",
  "totalPrice": 10000
}
Name Type Description
approvalNo String 승인번호
orderNo String 주문번호
{
  "approvalNo": "\uc2b9\uc778\ubc88\ud638",
  "message": "OK",
  "orderNo": "\uc8fc\ubb38\ubc88\ud638",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}
POST /oapi/p/cashst/cancel 현금영수증 취소
Name Description
devID 파트너사 아이디 (부여받은 아이디)
devToken 파트너사 토큰 (부여받은 토큰)
Name Type Required Description
memberId String Y 회원 ID
orderNo String Y 주문번호
{
  "memberId": "testid",
  "orderNo": "\uc8fc\ubb38\ubc88\ud638"
}
{
  "message": "OK",
  "success": true
}
{
  "message": "Error Message",
  "success": false
}