본문으로 건너뛰기

결제 승인

정기 결제 승인 요청하는 API 입니다.

주의사항
  • 응답 대기시간 초과 및 네트워크 오류로 응답을 받지 못한 경우 반드시 거래상태 조회를 통해 PG 거래고유번호를 조회 후 취소처리 바랍니다. 거래상태 조회 참고
  • 승인결과의 결제금액과 상점의 결제금액이 상이할 시 반드시 취소처리 바랍니다.
  • 승인결과에 대한 상점 DB 처리 실패 시 반드시 취소처리 바랍니다

요청

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

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

주의사항

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

파라미터

필드명타입길이필수여부설명
mallIdString8ByteKICC에서 부여한 상점ID
shopTransactionIdString60Byte상점 거래고유번호 (API 멱등성 키)
shopOrderNoString40Byte상점 주문번호 반드시 Unique 값으로 생성
approvalReqDateString8Byte결제 승인요청일자(yyyyMMdd)
amountNumber결제요청 금액
currencyString2Byte통화코드(원화 : “00”)
orderInfoObject결제 주문정보 (아래 orderInfo 참조)
payMethodInfoObject결제수단 정보 (아래 payMethodInfo 참조)
taxInfoObject복합과세 정보(복합과세 사용 시 필수)
아래 refundInfo 참조

orderInfo(주문 정보)

필드명타입길이필수여부설명
goodsNameString50Byte상품명
customerInfoObject주문 고객정보 (아래 customerInfo 참조)

orderInfo > customerInfo(주문 고객정보)

필드명타입길이필수여부설명
customerIdString20Byte고객 ID
customerNameString20Byte고객명
customerMailString50Byte고객 Email
customerContactNoString11Byte고객 연락처(숫자만 허용)
customerAddrString200Byte고객 주소

payMethodInfo(결제수단 정보)

필드명타입길이필수여부설명
billKeyMethodInfoObject빌키 정보 (아래 billKeyMethodInfo 참조)
cardMethodInfoObject신용카드 정보 (아래 cardMethodInfo 참조)

payMethodInfo > billKeyMethodInfo(빌키 정보)

필드명타입길이필수여부설명
batchKeyString60Byte빌키 빌키 발급 응답의 cardNo 값

payMethodInfo > cardMethodInfo(신용카드 정보)

필드명타입길이필수여부설명
installmentMonthNumber할부개월
freeInstallmentUsedBoolean무이자 여부 true: 사용, false: 미사용
joinCdString4Byte제휴서비스 코드

taxInfo(복합과세 정보)

필드명타입길이필수여부설명
taxAmountNumber과세 금액
freeAmountNumber비과세 금액
vatAmountNumber부가세 금액
요청 예시
{  
"mallId": "T5102001",
"shopOrderNo": "{상점 주문번호}",
"shopTransactionId": "{API 멱등성 키}",
"approvalReqDate": "{요청 일자}",
"amount": 1000,
"currency": "00",
"orderInfo": {
"goodsName": "예시 상품명"
}
"payMethodInfo": {
"billKeyMethodInfo": {
"batchKey": "발급받은 빌키"
},
"cardMethodInfo":{
"installmentMonth": 12
}
}
}

응답

파라미터

필드명타입길이설명
resCdString4Byte결과코드(정상 : “0000”)
resMsgString1000Byte결과 메시지
shopTransactionIdString60Byte상점 거래고유번호
mallIdString8ByteKICC에서 부여한 상점ID
shopOrderNoString40Byte상점 주문번호(거래등록 시 요청한 값 그대로 응답)
pgCnoString20BytePG 거래고유번호(취소 또는 환불 시 필수로 사용되는 필드)
amountNumber총 결제금액(결제 요청금액과 응답금액을 필수로 비교하여 주세요.)
transactionDateString14Byte거래일시(yyyyMMddHHmmss)
statusCodeString4Byte거래상태 코드 (거래상태 코드 참고)
statusMessageString50Byte거래상태 메시지
msgAuthValueString200Byte응답값의 무결성을 검증 (메시지 인증값 바로가기)
escrowUsedString1Byte에스크로 사용유무(Y/N)
paymentInfoObject결제수단별 승인결과 정보 (아래 paymentInfo 참조)

paymentInfo(결제수단별 승인결과 정보)

필드명타입길이설명
payMethodTypeCodeString2Byte결제수단 코드 (결제수단 코드 참고)
approvalNoString100Byte결제수단 승인번호
approvalDateString14Byte결제수단의 승인일시 (yyyyMMddHHmmss)
cpCodeString4Byte서비스 제공 기관코드(제휴 서비스사 코드 참고)로 간편결제, 포인트 결제 시 응답
cardInfoObject신용카드 결제결과 정보 (아래 cardInfo 참조)

paymentInfo > cardInfo(신용카드 결제결과)

필드명타입길이설명
cardNoString20Byte카드번호(마스킹 *)
issuerCodeString3Byte발급사 코드 (카드사 코드 참고)
issuerNameString50Byte발급사 명
acquirerCodeString3Byte매입사 코드 (카드사 코드 참고)
acquirerNameString50Byte매입사 명
installmentMonthNumber할부개월
freeInstallmentTypeCodeString2Byte할부구분 (일반: "00", 상점분담 무잊자: "02", 카드사 무이자: "03")
cardGubunString1Byte카드종류 (신용: “N”, 체크: “Y”, 기프트: “G”)
cardBizGubunString1Byte카드주체 (개인: “P”, 법인: “C”, 기타: “N”)
partCancelUsedString1Byte부분취소 가능여부(Y/N)
vanSnoString12ByteVAN 거래일련번호
응답 예시
{
"resCd": "0000",
"resMsg": "결제 정상",
"mallId": "{요청한 상점ID}",
"pgCno": "{PG 거래고유번호}",
"shopTransactionId": "{요청한 API 멱등성 키}",
"shopOrderNo": "{상점 주문번호}",
"amount": "51004",
"transactionDate": "20210326090200",
"statusCode": "TS03",
"statusMessage": "매입요청",
"msgAuthValue": "e06540df5ac28ac877fb4f063d06d5f9c3ee2a3a8820a888bfc8db1577a7fe",
"escrowUsed": "N",
"paymentInfo": {
"payMethodTypeCode": "11",
"approvalNo": "00017177",
"approvalDate": "20210326090200",
"cardInfo": {
"cardNo": "45184211******81",
"issuerCode": "029",
"issuerName": "신한카드",
"acquirerCode": "029",
"acquirerName": "신한카드",
"installmentMonth": 0,
"freeInstallmentTypeCode": "00",
"cardGubun": "N",
"cardBizGubun": "P",
"partCancelUsed": "Y"
}
}
}

메시지 인증값

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

pgCno(PG 거래고유번호) + “|” + amount(결제금액) + “|” + transactionDate(거래일시)