본문으로 건너뛰기

결제 취소

결제 완료된 거래 전체 또는 부분 취소 처리를 하는 API 입니다.

참고

요청

요청 URL
POST https://{API 도메인}/easypay/payment/cancel.do
Content-type: application/json; charset=euc-kr
참고

API 멱등성 지원 대상 (API 멱등성 참조)

주의사항
  • 응답 대기시간 초과 및 네트워크 오류로 응답을 받지 못한 경우 반드시 거래상태 조회를 통해 PG 거래고유번호를 조회 후 취소처리 바랍니다. 최종 결제 취소가 완료되기까지 시간이 걸리므로 timeout을 30초로 설정해야 합니다.

파라미터

필드명타입길이필수여부설명
mallIdString8ByteKICC에서 부여한 가맹점ID
shopTransactionIdString60Byte제휴사 거래고유번호 (API 멱등성 키)
shopOrderNoString40Byte결제승인 요청 시 사용했던 제휴사 주문번호
pgCnoString20Byte원 거래 PG 거래고유번호
cancelTxtypeString2Byte취소구분 전체취소: “40”, 부분취소: “32”
amountNumber취소요청금액
remainAmountNumber취소가능금액 취소가능 잔액검증
comTaxAmtNumber취소금액 중 과세금액 복합과세 부분취소 시 사용
comFreeAmtNumber취소금액 중 비과세 금액 복합과세 부분취소 시 사용
comVatAmtNumber취소금액 중 부가세 금액 복합과세 부분취소 시 사용
msgAuthValueString200Byte요청값의 무결성을 검증 (메시지 인증값 바로가기)
cancelReqDateString8Byte취소요청일자(yyyyMMdd)
요청 예시
{  
"mallId": "{KICC에서 부여한 가맹점ID}",
"shopTransactionId": "{API 멱등성 키}",
"pgCno": "{PG 거래고유번호}",
"cancelTxtype": "40",
"cancelReqDate": "{요청 일자}",
"msgAuthValue": "{메시지 인증값}"
}

응답

파라미터

필드명타입길이설명
resCdString4Byte결과코드(정상 : “0000”)
resMsgString1000Byte결과 메시지
shopTransactionIdString60Byte취소요청 시 전송한 값 그대로 사용
mallIdString8ByteKICC에서 부여한 가맹점ID
oriPgCnoString20Byte원 거래 PG 거래고유번호
cancelPgCnoString20Byte취소 PG 거래고유번호
shopOrderNoString40Byte제휴사 주문번호
cancelAmountNumber취소금액
remainAmountNumber취소 후 잔액
transactionDateString14Byte거래일시(yyyyMMddHHmmss)
statusCodeString4Byte거래상태 코드 (거래상태 코드 참고)
statusMessageString50Byte거래상태 메시지
paymentInfoArray결제수단 취소상세 내역 (아래 paymentInfo 참조)

paymentInfo(결제수단 취소상세 내역)

필드명타입길이설명
payMethodTypeCodeString2Byte결제수단 코드 (결제수단 코드 참고)
cancelAmountNumber취소금액
remainAmountNumber취소 후 잔액(요청 시 remainAmount 항목이 있을 시 응답)
couponAmountNumber즉시할인 취소금액
cashReceiptInfoObject현금영수증 취소 상세정보 (아래 cashReceiptInfo 참조)

cashReceiptInfo(현금영수증 취소 상세정보)

필드명타입길이설명
resCdString4Byte결과코드
resMsgString1000Byte결과 메시지
approvalNoString50Byte취소 승인번호
cancelDateString14Byte취소일시(yyyyMMddHHmmss)
응답 예시
{
"resCd": "0000",
"resMsg": "정상취소",
"mallId": "{요청한 가맹점ID}",
"shopTransactionId": "{요청한 API 멱등성 키}",
"oriPgCno": "{PG 거래고유번호}",
"cancelPgCno": "{취소 PG 거래고유번호}",
"shopOrderNo": "{상점 주문번호}",
"cancelAmount": "51004",
"remainAmount": "0",
"transactionDate": "20210326090200",
"statusCode": "TS02",
"statusMessage": "승인취소",
"paymentInfo": [
{
"payMethodTypeCode": "11",
"cancelAmount": 5100
}
]
}

메시지 인증값

메시지 인증값 구성은 아래와 같이 조합하고 해당값을 HmacSHA256으로 해시한다. 메시지 인증 참조

pgCno(PG 거래고유번호) + “|” + shopTransactionId(제휴사 거래고유번호)