빌키 발급
빌키 등록창 응답으로 받은 인증 거래번호(authorizationId)로 빌키를 발급 받는 API 입니다.
요청
요청 URL
POST https://{API 도메인}/api/ep9/trades/approval
Content-type: application/json; charset=utf-8
참고
API 멱등성 지원 대상 (API 멱등성 참조)
주의사항
최종 빌키 발급 완료되기까지 시간이 걸리므로 timeout을 30초로 설정해야 합니다.
파라미터
| 필드명 | 타입 | 길이 | 필수여부 | 설명 |
|---|---|---|---|---|
| mallId | String | 8Byte | ✅ | KICC에서 부여한 상점ID |
| shopTransactionId | String | 60Byte | ✅ | 상점 거래고유번호 (API 멱등성 키) |
| authorizationId | String | 60Byte | ✅ | 인증 거래번호 등록창 호출 후 받은 값 그대로 사용 |
| shopOrderNo | String | 40Byte | ✅ | 상점 주문번호 요청한 값 그대로 사용 |
| approvalReqDate | String | 8Byte | ✅ | 요청일자(yyyyMMdd) |
요청 예시
{
"mallId": "T5102001",
"shopOrderNo": "{상점 주문번호}",
"shopTransactionId": "{API 멱등성 키}",
"authorizationId": "{인증 거래번호}",
"approvalReqDate": "{요청 일자}"
}
응답
파라미터
| 필드명 | 타입 | 길이 | 설명 |
|---|---|---|---|
| resCd | String | 4Byte | 결과코드(정상 : “0000”) |
| resMsg | String | 1000Byte | 결과 메시지 |
| mallId | String | 8Byte | KICC에서 부여한 상점ID |
| shopTransactionId | String | 60Byte | 발급요청 시 전송한 값 그대로 사용 |
| shopOrderNo | String | 40Byte | 상점 주문번호(거래등록 시 요청한 값 그대로 응답) |
| pgCno | String | 20Byte | PG 거래고유번호 |
| transactionDate | String | 14Byte | 거래일시(yyyyMMddHHmmss) |
| msgAuthValue | String | 200Byte | 응답값의 무결성을 검증(메시지 인증값 바로가기) |
| paymentInfo | Object | 결제수단별 결과 정보 (아래 paymentInfo 참조) |
paymentInfo(결제수단별 결과 정보)
| 필드명 | 타입 | 길이 | 설명 |
|---|---|---|---|
| payMethodTypeCode | String | 2Byte | 결제수단 코드(결제수단 코드 참고) |
| cardInfo | Object | 신용카드 결과 정보 (아래 cardInfo 참조) |
paymentInfo > cardInfo(신용카드 결과 정보)
| 필드명 | 타입 | 길이 | 설명 |
|---|---|---|---|
| cardNo | String | 20Byte | 빌키(결제 승인 요청 시 필수) |
| issuerCode | String | 3Byte | 발급사 코드(카드사 코드 참고) |
| issuerName | String | 50Byte | 발급사 명 |
| acquirerCode | String | 3Byte | 매입사 코드(카드사 코드 참고) |
| acquirerName | String | 50Byte | 매입사 명 |
| cardGubun | String | 1Byte | 카드종류 (신용: “N”, 체크: “Y”, 기프트: “G”) |
| cardBizGubun | String | 1Byte | 카드주체 (개인: “P”, 법인: “C”, 기타: “N”) |
| partCancelUsed | String | 1Byte | 부분취소 가능여부(Y/N) |
| subCardCd | String | 3Byte | 빌키발급 시 응답으로 제공되는 BC제휴사 카드코드 |
| cardMaskNo | String | 40Byte | 마스킹(*)된 카드번호 |
응답 예시
{
"resCd": "0000",
"resMsg": "정상",
"mallId": "{요청한 상점ID}",
"pgCno": "{PG 거래고유번호}",
"shopTransactionId": "{요청한 API 멱등성 키}",
"shopOrderNo": "{상점 주문번호}",
"transactionDate": "20210326090200",
"msgAuthValue": "e06540df5ac28ac877fb4f063d06d5f9c3ee2a3a8820a888bfc8db1577a7fe",
"escrowUsed": "N",
"paymentInfo": {
"payMethodTypeCode": "11",
"cardInfo": {
"cardNo": "{빌키}",
"issuerCode": "029",
"issuerName": "신한카드",
"acquirerCode": "029",
"acquirerName": "신한카드",
"cardGubun": "N",
"cardBizGubun": "P",
"partCancelUsed": "Y",
"cardMaskNo": "54646500******01"
}
}
}
메시지 인증값
메시지 인증값 구성은 아래와 같이 조합하고 해당값을 HmacSHA256으로 해시한다. 메시지 인증 참조
pgCno(PG 거래고유번호) + “|” + amount(결제금액) + “|” + transactionDate(거래일시)