영카트 토스 페이먼츠 테스트 결제 오류
본문
에러 내용 : 검증값[LGD_HASHDATA] 생성오류 또는 데이터가 위변조가 되었습니다
[설정 상태]
토스페이먼츠 선택 후 테스트 관리자의 페이지도 연결할 수 없다고 나오고,
머트키를 입력해야 하는데 토스페이먼츠 개발자센터에서도 테스트 모드에서는 머트키를 찾아볼 수 없네요
혹시 토스페이먼츠는 테스트가 안되는걸까요?
무조건 실결제 승인 받고 테스트 해야할까요?
로컬 환경에서 개발중이라 localhost로 접속했습니다
- 해 본 방법
1. html\plugin\lgxpay\lgdacom\log 권한 707 확인 완료
2. html\plugin\lgxpay\lgdacom\log에 코드로 php 파일 생성 확인 완료
3. https로 접속
답변 3
안녕하세요. 토스페이먼츠 Community Export Ayaan입니다.
별도로 URL 체크는 하고있지 않습니다.
해당 거래건의 LGD_OID나 LGD_TID를 알 수 있으면 좋을 듯 합니다.
다만, 해당 오류는 머트키가 설정이 제대로 안된 것으로, 아래 페이지에서 머트키를 확인해 보시기 바랍니다.
[ 머트키 확인 경로 ]
1. https://developers.tosspayments.com/my/api-keys
2. 로그인 -> 좌측 냅바의 드롭다운에서 귀사 사업자 선택
3. API 키 -> 라이브(혹은 테스트) 선택 후 화면 최하단 머트키 확인
머트키 확인이 어려우신 경우, techsupport 골뱅이 tosspayments.com 혹은
https://developers.tosspayments.com/go/techchat (1:1 채팅문의)를 통하여 접수해 주시면
빠르게 확인 도와드리겠습니다.
"토스페이먼츠(Toss Payments)"에서 발생한 에러:
"검증값[LGD_HASHDATA] 생성오류 또는 데이터가 위변조가 되었습니다"
이 에러는 일반적으로 결제 과정 중 결제 결과 데이터의 무결성을 검증하는 해시 값(LGD_HASHDATA
)이 올바르게 생성되지 않았거나, 전달된 데이터가 변조되었을 가능성이 있을 때 발생합니다.
✅ 주요 원인과 해결 방법
1. 상점 키(Merchant Key)가 잘못되었거나 누락된 경우
- LGD_HASHDATA는 결제 데이터와 함께 **상점 키(Merchant Key)**를 사용해서 생성합니다.
- 서버에서 LGD_HASHDATA를 생성할 때, 토스페이먼츠 관리자 페이지에서 발급받은
상점키
를 정확히 입력했는지 확인하세요.
?
상점키
는 관리자 페이지 > 상점정보에서 확인할 수 있습니다. 서버 측 코드에 하드코딩되어 있거나 환경 변수로 관리되어야 합니다.
2. 결제 응답값 중 일부 누락 또는 잘못된 값이 있는 경우
LGD_MID
,LGD_OID
,LGD_AMOUNT
,LGD_RESPCODE
등 토스페이먼츠에서 응답받은 값들이LGD_HASHDATA
생성 시 사용하는데, 하나라도 누락되거나 값이 바뀌면 검증에 실패합니다.
✅ 응답으로 받은 값이 정확하게 서버로 전달되는지 로그를 찍어서 확인해보세요.
3. Hash 생성 방식이 잘못된 경우
- SHA-256 방식으로 생성되어야 하며, 데이터 순서가 정확해야 합니다.
- 예시 (Java 기준):
String hashData = "LGD_MID=" + mid + "&LGD_OID=" + oid + "&LGD_AMOUNT=" + amount + "&LGD_RESPCODE=" + respCode + "&LGD_TIMESTAMP=" + timestamp + "&LGD_MERTKEY=" + mertKey;
String LGD_HASHDATA = hashSHA256(hashData);
- 순서와 키값이 다르면 검증이 실패합니다.
4. 응답을 위조하거나 중간에 데이터가 변경된 경우
- 클라이언트 → 서버 또는 PG사 ↔ 서버 간 통신 중 데이터가 중간에 잘못 전달되거나 조작될 경우에도 이 에러가 발생합니다.
- 이 경우는 대부분 개발 환경 또는 테스트 중 발생합니다.
?️ 해결 체크리스트
- [ ]
상점키
가 정확하게 입력되었는가? - [ ]
LGD_HASHDATA
를 생성할 때, 사용하는 값들의 순서와 형식이 정확한가? - [ ] 응답받은 데이터를 그대로 사용하는가? (중간에 변경되지 않았는가?)
- [ ] 테스트/운영 환경에서 각각의
상점키
와상점ID
를 올바르게 사용하고 있는가?
? 참고 문서
- 토스페이먼츠 개발자 센터: https://docs.tosspayments.com
- LGU+ 연동 문서 사용 시: LGD_HASHDATA 관련 문서를 참조하세요
참고하시면 도움되실듯 합니다.
토스면 URL 체크도 하는걸로 알고있는데요.
localhost 를 등록하셨나요?
그보다 localhost 가 등록이 되는지 모르겠네요.
이전에는 안됬던거 같은데.. (이건 다른 페이사랑 햇갈렸을수도 있습니다.)