본문으로 건너뛰기

결제취소

WeChat Pay는 결제취소(부분취소 포함) 접수 API 입니다.

주의사항
  • 본 API는 결제 취소가 아닌 취소 접수 상태로 실제 결제 취소가 아닙니다.
  • 결제 취소 완료는 노티(웹훅) 서비스를 통해 전송됩니다.

요청

요청 URL
POST https://{API 도메인}/api/trades/wechatpay/revise
Content-type: application/json; charset=utf-8
참고

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

주의사항

최종 결제 취소가 완료되기까지 시간이 걸리므로 timeout을 30초로 설정해야 합니다.

파라미터

필드명타입길이필수여부설명
mallIdString8ByteKICC에서 부여한 상점ID
shopTransactionIdString60Byte상점 거래고유번호 (API 멱등성 키)
pgCnoString60Byte결제승인 거래고유번호
reviseTypeCodeString2Byte취소 거래구분 전체취소: “40”, 부분취소: “32”
cancelReqDateString8Byte취소요청 일자(yyyyMMdd) 재취소 요청 시 최초 취소요청일자
msgAuthValueString200Byte요청값의 무결성을 검증 (메시지 인증값 바로가기)
notifyUrlString1000Byte취소완료 후 결과 전송 URL
memoString400Byte취소사유
regIdString40Byte취소 요청자
amountInfoObject취소금액 정보(부분취소 시 사용)
아래 amountInfo 참조

amountInfo(취소금액 정보)

필드명타입길이필수여부설명
currencyString2Byte통화코드 원화: "KRW", 달러: "USD"
totAmountNumber취소금액(부분취소 시 ✅)
USD일 경우 * 100으로 요청, $12.03 이면 1203으로 요청
요청 예시
{  
"mallId": "{상점ID}",
"shopTransactionId": "{API 멱등성 키}",
"pgCno": "{KICC 결제 거래고유번호}",
"reviseTypeCode": "40",
"cancelReqDate": "{요청 일자}",
"msgAuthValue": "{메시지 인증값}",
"notifyUrl": "{결제취소 완료 후 결과 전송 URL}",
"memo": "취소사유"
}

응답

파라미터

필드명타입길이설명
resCdString4Byte응답코드
resMsgString1000Byte응답메시지
shopTransactionIdString60Byte취소요청 시 전송한 값 그대로 사용
mallIdString8ByteKICC에서 부여한 상점ID
resDetailMsgString1024Byte오류 시 위쳇에서 내려주는 상세 메시지(URL encoding)
pgCnoString60Byte원 결제승인 거래고유번호
cancelPgCnoString60Byte결제취소 거래고유번호
transactionDateString14Byte거래일시(yyyyMMddHHmmss)
amountInfoObject취소금액 정보(부분취소 시 사용)
아래 amountInfo 참조

amountInfo(취소금액 정보)

필드명타입길이설명
currencyString2Byte통화코드 원화: "KRW", 달러: "USD"
totAmountNumber취소금액(부분취소 시 필수)
USD일 경우 * 100으로 요청, $12.03 이면 1203으로 요청
응답 예시
{
"resCd": "0000",
"resMsg": "정상처리",
"mallId": "{상점ID}",
"shopTransactionId": "{API 멱등성 키}",
"pgCno": "{KICC 결제 거래고유번호}",
"cancelPgCno": "{결제취소 거래고유번호}",
"transactionDate": "20230312000512",
"amountInfo": {
"currency": "USD",
"totAmount": 5022 // $50.22일 경우 5022로 응답
}
}

메시지 인증값

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

pgCno(결제승인 거래고유번호) + “|” + shopTransactionId (상점 거래고유번호)