취소 API

결제 완료된 거래 전체 또는 부분 취소 처리를 하는 서비스 입니다. HTTP POST 방식으로 호출하시기 바랍니다.

주의사항

에스크로, 다중정산은 관련 첨부파일을 참고해주시기 바랍니다.

요청

URL 정보

테스트 https://testpgapi.easypay.co.kr/api/trades/revise
운영 https://pgapi.easypay.co.kr/api/trades/revise

파라미터

필드명 타입 최대크기 필수여부 설명
mallId String 8 Byte 필수 KICC에서 부여한 상점ID
shopTransactionId String 60 Byte 필수 가맹점 트랜젝션ID
중복요청을 방지를 위해 일별로 Unique 보장
pgCno String 20 Byte 필수 PG 거래번호
원거래 PG 거래번호
cancelPgCno String 20 Byte 필수 취소거래번호
매입취소원복시 필수
reviseTypeCode String 2 Byte 필수 변경구분
전체취소 : "40"
부분취소 : "32"
변경구분 코드표 참조
reviseSubTypeCode String 4 Byte 필수 변경 세부구분
변경세부구분 코드표 참조
amount Number 취소금액
부분취소 시 필수
remainAmount Number 취소가능금액
부분취소 시 취소 가능잔액 검증용
clientIp String 20 Byte 요청자 IP
clientId String 32 Byte 요청자 ID
가맹점 관리자 로그인용 ID
cancelReqDate String 8 Byte 필수 취소 요청일자(yyyyMMdd) 반드시 현재일자로 처리
msgAuthValue String 200 Byte 필수 메시지 인증값(무결성 검증) 각주 1)
Secret Key는 영업담당자에게 문의
reviseMessage String 100 Byte 취소사유
refundQueryFlag String 1 Byte 환불결과 조회플래그('Y' : 조회)
즉시환불 타임아웃 발생 시 필수
환불응답이 "VTIM", "VT00"일 경우 재요청 필요
basketUsed String 1 Byte 장바구니 결제여부(Y/N)
다중정산 거래일 경우 필수
taxInfo Object 복합과세 정보
{taxInfo} 참조

각주 1)

메시지 인증값 구성은 PG승인거래번호, 가맹점 트랜젝션ID로 아래와 같이 조합하고 해당값을 HmacSHA256으로 해시한다.(HmacSHA256 해시함수 참조)
pgCno(PG거래번호) + “|” + shopTransactionId (가맹점 트랜젝션ID)

taxInfo(복합과세 정보)

필드명 타입 최대크기 필수여부 설명
taxationAmount Number 필수 취소 과세 금액
taxFreeAmount Number 필수 취소 비과세 금액
vatAmount Number 필수 취소 부가세 금액

요청 예

{

   "mallId ": "T5102001",

   "shopTransactionId": "qwer1234202201231516",

   "pgCno": "21032609005610816914",

   "reviseTypeCode": "40",

   "clientIp": "10.123.1.12",

   "clientId": "x-man",

   "cancelReqDate": "20231225",

   "msgAuthValue": "e06540df5ac28ac877fb4f063d06d5f9c3ee2a3a8820a888bfc8db1577a7fe",

   "reviseMessage": "고객변심"

}

응답

Body

필드명 타입 최대크기 필수여부 설명
resCd String 4 Byte 필수 결과코드(정상 : "0000")
resMsg String 100 Byte 필수 결과 메시지
mallId String 8 Byte KICC에서 부여한 상점ID
shopTransactionId String 60 Byte 필수 가맹점 트랜젝션ID
취소(환불)요청 시 전송한 값
노티(웹훅) 전송 시 미전송 대상
shopOrderNo String 40 Byte 상점 주문번호
oriPgCno String 20 Byte 원 승인 PG거래번호
cancelPgCno String 20 Byte 취소(환불) 거래번호
transactionDate String 14 Byte 거래일시(yyyyMMddHHmmss)
cancelAmount Number 취소(환불)금액
remainAmount Number 취소(환불) 후 잔액
statusCode String 4 Byte 거래상태 코드표 참조
statusMessage String 50 Byte 거래상태 메시지
escrowUsed String 1 Byte 에스크로 사용여부(Y/N)
multiCardAmount String 12 Byte 페이코 카드 취소금액
multiPntAmount String 12 Byte 페이코 포인트 취소금액
multiCponAmount String 12 Byte 페이코 쿠폰 취소금액
reviseInfo Object 취소(환불) 상세정보
{reviseInfo} 참조

reviseInfo(취소 상세정보)

필드명 타입 최대크기 필수여부 설명
payMethodTypeCode String 2 Byte 필수 결제수단 코드표 참조
approvalNo String 50 Byte 필수 취소(환불) 승인번호
approvalDate String 14 Byte 필수 취소일시(yyyyMMddHHmmss)
cardInfo Object 신용카드 취소정보
{cardInfo} 참조
cashReceiotInfo Object 현금영수증 취소정보
{cashReceiptInfo} 참조

cardInfo(신용카드 취소정보)

필드명 타입 최대크기 필수여부 설명
couponAmount Number 즉시할인 취소금액

cashReceiptInfo(연금영수증 취소정보)

필드명 타입 최대크기 필수여부 설명
resCd String 4 Byte 필수 결과코드
regMsg String 100 Byte 필수 결과메시지
approvalNo String 50 Byte 취소 승인번호
cancelDate String 14 Byte 취소일시(yyyyMMddHHmmss)

응답 예

{

   "resCd": "0000",

   "resMsg": "정상처리",

   "mallId": "T5102001",

   "shopTransactionId": "qwer1234202201231516",

   "shopOrderNo": "123123123123",

   "oriPgCno": "21032609005610816914",

   "cancelPgCno": "21032609005610816916",

   "transactionDate": "20210326090706",

   "cancelAmount": 51000,

   "remainAmount": 0,

   "statusCode": "TS02",

   "statusMessage": "승인취소",

   "reviseInfo": {

      "payMethodTypeCode": "11",

      "approvalNo": "60211250",

      "approvalDate": "20210326090706"

   }

}