kginicis-ts / INICIS_Stdpay

【 일반결제 】 :: PC/모바일 모듈 소통 공간입니다.
6 stars 0 forks source link

code=R122, message=Signature 값이 잘못되었습니다. #98

Open swmin77777 opened 1 year ago

swmin77777 commented 1 year ago

안녕하세요.

이니시스 관련 PC 결제 승인 시 code=R122, message=Signature 값이 잘못되었습니다. 에러 관련 문의하려합니다.

현재 SignatureUtil 파일로 Signature 값을 생성 하는데. 결제요청 시 Signature 는 정상적으로 진행이 되는데.

결제요청승인 시 Signature authToken, timestamp는 에러가 발생 합니다.

authToken + 생략되지 않은 authToken 결과가 넘어오고 있으며 결제요청승인 API 호출 시 정상처리가 안 되고 있습니다.

추가적으로 이니시스 개발자센터에서 SHA256 관련 결제요청승인 Signature 값과 SignatureUtil .makeSignature 생성된 Signature 결과가 다릅니다.

테스트 시 개발자센터에서 변경한 SHA256 값으로 Signature 정보를 넣어도 code=R122, message=Signature 값이 잘못되었습니다.

에러가 발생합니다.

해당문제 관련하여 해결방법이 있을까요?

현재 결제요청 승인 API 호출은 Spring boot Webclient post 로 진행 하고있습니다.

감사합니다.

ts-inicis commented 1 year ago

R122 오류는 승인 요청 시 발생되는 오류입니다.

인증 결과에서 수신된 authToken 과 timestamp 로 signature 를 만들고, 이 때 생성된 signature 값과 mid, authToken, timestamp 등을 함께 웹표준 서버로 보내게 됩니다.

웹표준 서버에서는 mid 체크 및 수신된 authToken, timestamp 로 signature 를 생성하고, 가맹점으로부터 수신된 signature 값과 대조하여 위조 여부를 판단합니다.

일반적으로 인증 결과에서 수신된 authToken 값이 그대로 설정되지 못하고, 변조되어 발생되는 케이스가 가장 많습니다. (개행문자^M 추가됨, \r\n 누락 혹은 추가됨 등)

authToken 값이 변경되지는 않았는지 다시 한번 체크를 해보세요. 이니시스에서 제공되는 샘플에 포함된 라이브러리의 함수를 그대로 사용해 보시는 것도 방법이 됩니다.

swmin77777 commented 1 year ago

authToken 관련하여 개행문자 정보는 없으며

인증 결과에서 수신 된 authToken 과 timestamp 로 signature 를 만들고, 해당 답변 관련하여 예제 파일에서는

String timestamp= SignatureUtil.getTimestamp(); 생성하여 사용하는데 값이 누락되어 오는 건가요? *사용자 정의 변수에 timestamp 넣은 값을 사용해도 R122 에러 동일 발생

추가적으로 현재 예제 소스에 있는 방식으로는 내부 개발을 진행 할 수 없는 상황 이여서

authToken 개행문자 말고 참고할 사항이 있나요? https://manual.inicis.com/pay/demo/hash.html#256 에서 SHA 256 변경데이터랑 동일한데 결과는 아래와 같이 에러입니다.

code=R122, message=Signature 값이 잘못되었습니다

ts-inicis commented 1 year ago

String timestamp= SignatureUtil.getTimestamp(); 생성하여 사용하는데 값이 누락되어 오는 건가요?

이 코드는 라이브러리 메서드를 통해서 생성되는 값이라 응답과는 관련이 없습니다.

관련된 내용을 확인하기 위해서는 요청된 로그 이력 확인이 필요합니다.

ts@kggroup.co.kr 로 문의주신 오류 내용과,
결제 요청페이지에서 요청 시의 요청 정보(mid, oid, timestamp, price) 를 회신 바랍니다.