KG이니시스 결제 통합인증,네이버 로그인
파라미터의 데이터 설정이 잘못되었습니다.(신용카드 본인인증은 계약되지 않은 인증방법입니다. 상점에 문의해 주세요.)
xemaker
2022. 7. 18. 22:19
결제 모듈을 쇼핑몰에 붙이려고 하는데
파라미터의 데이터 설정이 잘못되었습니다.(신용카드 본인인증은 계약되지 않은 인증방법입니다. 상점에 문의해 주세요.)
이런 에러가 났다.
알고보니
<html>
<head>
<title>WebStandard example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script language="javascript" type="text/javascript" src="https://stdpay.inicis.com/stdjs/INIStdPay.js" charset="UTF-8"></script>
</head>
<body>
<form id="SendPayForm_id" name="" method="POST" >
<input type="text" name="goodname" value="테스트" >
<input type="text" name="buyername" value="홍길동" >
<input type="text" name="buyertel" value="010-1234-5678" >
<input type="text" name="buyeremail" value="test@inicis.com" >
<input type="text" name="price" value="1000" >
<input type="hidden" name="mid" value="INIpayTest" ><!-- 에스크로테스트 : iniescrow0, 빌링(정기과금)테스트 : INIBillTst -->
<input type="hidden" name="gopaymethod" value="Card" >
<input type="hidden" name="mKey" value="3a9503069192f207491d4b19bd743fc249a761ed94246c8c42fed06c3cd15a33" >
<input type="hidden" name="signature" value="6f5b49673b72c7a1152181c2262ea7cd9379bc620dd1b499ff2635df7f52e825" >
<input type="hidden" name="oid" value="INIpayTest_1658150081223" >
<input type="hidden" name="timestamp" value="1658150081223" >
<input type="hidden" name="version" value="1.0" >
<input type="hidden" name="currency" value="WON" >
<input type="hidden" name="acceptmethod" value="below1000" ><!-- 에스크로옵션 : useescrow, 빌링(정기과금)옵션 : BILLAUTH(Card) -->
<input type="hidden" name="returnUrl" value="http://localhost/stdpay/INIStdPayReturn_simple.asp" >
<input type="hidden" name="closeUrl" value="http://localhost/stdpay/close.asp" >
</form>
<button onclick="INIStdPay.pay('SendPayForm_id')" style="padding:10px; margin-left:10%">결제요청</button>
</body>
</html>
참고로 위의 예제 소스는
https://manual.inicis.com/stdpay/#pay
KG INICIS MANUAL
header("Content-Type: text/html; charset=utf-8"); require_once('../libs/INIStdPayUtil.php'); require_once('../libs/HttpClient.php'); require_once('../libs/sha256.inc.php'); require_once('../libs/json_lib.php'); $util = new INIStdPayUtil();
manual.inicis.com
여기 있고
예제 소스를 보면 알겠지만
<input type="hidden" name="mid" value="INIpayTest" ><!-- 에스크로테스트 : iniescrow0, 빌링(정기과금)테스트 : INIBillTst -->
<input type="hidden" name="acceptmethod" value="below1000" ><!-- 에스크로옵션 : useescrow, 빌링(정기과금)옵션 : BILLAUTH(Card) -->
이부분에서
정기과금을 하려면
아래와 같이 변경해야 한다.
<input type="hidden" name="mid" value="INIBillTst" ><!-- 에스크로테스트 : iniescrow0, 빌링(정기과금)테스트 : INIBillTst -->
<input type="hidden" name="acceptmethod" value="BILLAUTH(Card)" ><!-- 에스크로옵션 : useescrow, 빌링(정기과금)옵션 : BILLAUTH(Card) -->
그러나..
<input type="hidden" name="mid" value="INIpayTest" ><!-- 에스크로테스트 : iniescrow0, 빌링(정기과금)테스트 : INIBillTst -->
<input type="hidden" name="acceptmethod" value="BILLAUTH(Card)" ><!-- 에스크로옵션 : useescrow, 빌링(정기과금)옵션 : BILLAUTH(Card) -->
이런식으로 mid와 acceptmethod와 쌍이 안맞아서 에러가 났었다.
웃긴게..
mid 일반결제는 value가 INIpayTest이고 정기결제는 INIBillTst 이다. Test와 Tst 가 다르다. e 가 없다. 아 헷갈리게도 해놨다.
마음이 급하게 코딩하다보면 저런게 안보인다. 아 어렵다..