이니시스 모바일 결제시 결과 리턴 내용 질문드립니다.
안녕하세요.
이니시스 결제를 이용해 결제를 했을때
PC에서는 카드코드와 카드번호 할부개월수가 리턴이되어 넘어오는데
모바일에서는 어떻게 넘겨받는지 도무지 모르겠습니다;;;;;
일단 /mobile/shop/settle_common.php에
// 이니시스 NOTI 서버에서 받은 Value $P_TID; // 거래번호 $P_MID; // 상점아이디 $P_AUTH_DT; // 승인일자 $P_STATUS; // 거래상태 (00:성공, 01:실패) $P_TYPE; // 지불수단 $P_OID; // 상점주문번호 $P_FN_CD1; // 금융사코드1 $P_FN_CD2; // 금융사코드2 $P_FN_NM; // 금융사명 (은행명, 카드사명, 이통사명) $P_AMT; // 거래금액 $P_UNAME; // 결제고객성명 $P_RMESG1; // 결과코드 $P_RMESG2; // 결과메시지 $P_NOTI; // 노티메시지(상점에서 올린 메시지) $P_AUTH_NO; // 승인번호 $P_SRC_CODE; // 앱연동 결제구분 $P_CARD_NUM; //카드번호 <<=== 추가 $P_RMESG2; //할부기간 <==== 추가
$P_TID = isset($_POST['P_TID']) ? $_POST['P_TID'] : ''; $P_MID = isset($_POST['P_MID']) ? $_POST['P_MID'] : ''; $P_AUTH_DT = isset($_POST['P_AUTH_DT']) ? $_POST['P_AUTH_DT'] : ''; $P_STATUS = isset($_POST['P_STATUS']) ? $_POST['P_STATUS'] : ''; $P_TYPE = isset($_POST['P_TYPE']) ? $_POST['P_TYPE'] : ''; $P_OID = isset($_POST['P_OID']) ? preg_replace("/[ #\&\+%@=\/\\\:;,\.'\"\^`~|\!\?\*$#<>()\[\]\{\}]/i", "", $_POST['P_OID']) : ''; $P_FN_CD1 = isset($_POST['P_FN_CD1']) ? $_POST['P_FN_CD1'] : ''; $P_FN_CD2 = isset($_POST['P_FN_CD2']) ? $_POST['P_FN_CD2'] : ''; $P_FN_NM = isset($_POST['P_FN_NM']) ? $_POST['P_FN_NM'] : ''; $P_AMT = isset($_POST['P_AMT']) ? $_POST['P_AMT'] : ''; $P_UNAME = isset($_POST['P_UNAME']) ? $_POST['P_UNAME'] : ''; $P_RMESG1 = isset($_POST['P_RMESG1']) ? $_POST['P_RMESG1'] : ''; $P_RMESG2 = isset($_POST['P_RMESG2']) ? $_POST['P_RMESG2'] : ''; $P_NOTI = isset($_POST['P_NOTI']) ? $_POST['P_NOTI'] : ''; $P_AUTH_NO = isset($_POST['P_AUTH_NO']) ? $_POST['P_AUTH_NO'] : ''; $P_SRC_CODE = isset($_POST['P_SRC_CODE']) ? $_POST['P_SRC_CODE'] : ''; $P_CARD_NUM = isset($_POST['P_CARD_NUM']) ? $_POST['P_CARD_NUM'] : ''; <===추가 $P_RMESG2 = isset($_POST['P_RMESG2']) ? $_POST['P_RMESG2'] : ''; <===추가
이렇게 추가하고 아래부분에
$PAY = array( 'oid' => $P_OID, 'P_TID' => $P_TID, 'P_MID' => $P_MID, 'P_AUTH_DT' => $P_AUTH_DT, 'P_STATUS' => $P_STATUS, 'P_TYPE' => $P_TYPE, 'P_OID' => $P_OID, 'P_FN_NM' => iconv_utf8($P_FN_NM), 'P_AUTH_NO' => $P_AUTH_NO, 'P_AMT' => $P_AMT, 'P_RMESG1' => iconv_utf8($P_RMESG1). 'P_FN_CD1' => $P_FN_CD1. 'P_CARD_NUM' => $P_CARD_NUM. <=== 추가 'P_RMESG2' => $P_RMESG2. <=== 추가 );
$value = array( "PageCall time" => $PageCall_time, "P_TID" => $P_TID, "P_MID" => $P_MID, "P_AUTH_DT" => $P_AUTH_DT, "P_STATUS" => $P_STATUS, "P_TYPE" => $P_TYPE, "P_OID" => $P_OID, "P_FN_CD1" => $P_FN_CD1, "P_FN_CD2" => $P_FN_CD2, "P_FN_NM" => $P_FN_NM, "P_AMT" => $P_AMT, "P_UNAME" => $P_UNAME, "P_RMESG1" => $P_RMESG1, "P_RMESG2" => $P_RMESG2, "P_NOTI" => $P_NOTI, "P_AUTH_NO" => $P_AUTH_NO, "P_SRC_CODE" => $P_SRC_CODE, "P_CARD_NUM" => $P_CARD_NUM, <===추가 "P_RMESG2" => $P_RMESG2 <===추가 );
이렇게 넣어줬습니다.
그리고 pay_return.php에
echo ''.PHP_EOL; echo ''.PHP_EOL; echo ''.PHP_EOL;
이거 세줄 추가해줬구요;;;
그리고 pay_result.php에
//최종결제요청 결과 성공 DB처리 <<==이 부분 맨 아래
$card_code = isset($_POST['P_FN_CD1']) ? $_POST['P_FN_CD1'] : ''; $card_number = isset($_POST['P_CARD_NUM']) ? $_POST['P_CARD_NUM'] : ''; $CARD_Quota = isset($_POST['P_RMESG2']) ? $_POST['P_RMESG2'] : '';
이거 세줄 추가해줬습니다.
뭘 어디에 추가해야 될 지 몰라서 의심되는 부분에 무작정 추가하니까 안되네요;;;;;ㅠㅠ
이니시스 모바일 결제시에 카드사 코드와 신용카드번호, 할부기간 리턴 받아서 orderformupdate.php에 사용하려면
어떻게 해야되나요;;;; 제발 좀 도와주세요ㅠㅠㅠㅠㅠㅠ
답변 1개
$g5['g5_shop_order_table'] 디비에 3개의 칼럼을 생성하고
card_code card_number CARD_Quota
insert {$g5['g5_shop_order_table']} set
이 부분에 적용을 아래의 내용을 추가해 줘야 할 것입니다.
card_code = '$card_code', card_number = '$card_number', CARD_Quota = '$CARD_Quota', ................
답변에 대한 댓글 2개
이니시스에서 넘어온 값에 $P_CARD_NUM와 $P_RMESG2 값이 있는지 확인해 보세요.
/mobile/shop/settle_common.php 페이지에서 $PAY 값이 넘어 가서
pay_return.php 페이지에서
echo var_dump($PAY);
값이 넘어 오는지 확인해 보세요...
pay_result.php 페이지에서 값이 POST로 넘어 왔는지 GET으로 넘어 왔는지 확실하지 않을 수 있으므로
$_POST['P_FN_CD1'] 대신에 $_REQUEST['P_FN_CD1'] 로 모두 변경해서
넘어오는지 찍어 보세요...
echo $_REQUEST['P_FN_CD1'];
그리고 이니시스에서 넘어온 값도 $_REQUEST['ㅇㅇㅇㅇ']; 찍어 보세요...
$_POST로 안 나오면 $_GET 으로도 보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인