OTC 조회
오프라인 대면 결제(단말기-Kiosk, POS, 등) 시 필요한 OTC 정보(Track2)를 조회하는 API 입니다.
주의사항
- 보안을 위해 OTC 조회 API는 허용된 제휴사만 사용가능하고, 사전 등록된 IP에서 요청된 API 호출만 정상 처리됩니다.
- API 연동 전, 반드시 API를 초출하는 제휴사 서버의 공인 IP(Public IP)를 영업담당자를 통해 등록하시기 바랍니다.
- OTC 조회 후 반드시 180초이내 승인요청을 해야 합니다. 이후 승인 요청 시 거절이 발생할 수 있습니다.
정보
- OTC 정보(Track2)는 요청시 보내준 RSA공개를 이용하여 RSA 암호화(ECB/PKCS1Padding) 후 암호화된 정보를 전달됩니다.
- 제휴사에서 암호화된 OTC 정보(Track2)를 비밀키로 복호화하여 단말기로 승인요청 하시기 바랍니다.
공개키 및 개인키 발행 Java 예
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
KeyPair keyPair = keyPairGenerator.genKeyPair();
String privateKey = new String(Base64.encodeBase64(keyPair.getPrivate().getEncoded()));
String publicKey = new String(Base64.encodeBase64(keyPair.getPublic().getEncoded()));
요청
요청 URL
POST https://{API 도메인}/easycheck/merchant-otcs.do
Content-type: application/json; charset=euc-kr
파라미터
| 필드명 | 타입 | 길이 | 필수여부 | 설명 |
|---|---|---|---|---|
| authorizationId | String | 60Byte | ✅ | 인증 거래번호 |
| publicKey | String | 512Byte | ✅ | 제휴사 RSA 공개키(Base64 인코딩) |
요청 예시
{
"authorizationId": "{인증 거래번호}",
"publicKey": "{제휴사 RSA 공개키}",
}
응답
파라미터
| 필드명 | 타입 | 길이 | 설명 |
|---|---|---|---|
| resCd | String | 4Byte | 결과코드(정상 : “0000”) |
| resMsg | String | 1000Byte | 결과 메시지 |
| shopTransactionId | String | 60Byte | 거래인증 등록 요청 시 전송한 값 그대로 사용 |
| shopOrderNo | String | 40Byte | 거래인증 등록 요청 시 전송한 값 그대로 사용 |
| authorizationId | String | 60Byte | 요청 시 전송한 값 그대로 사용 |
| encOtc | String | 400Byte | 암호화된 OTC 정보(RSA/ECB/PKCS1Padding) |
| shopParameter | String | 4000Byte | 제휴사 예비필드 |
응답 예시
{
"resCd": "0000",
"resMsg": "정상처리",
"shopTransactionId": "{API 멱등성 키}",
"shopOrderNo": "{제휴사 주문번호}",
"authorizationId": "{인증 거래번호}",
"encOtc": "{암호화된 OTC 정보}",
"shopParameter": "{제휴사 예비필드}"
}