이니시스 모바일 결제시 결과 리턴 내용 질문드립니다.

이니시스 모바일 결제시 결과 리턴 내용 질문드립니다.

QA

이니시스 모바일 결제시 결과 리턴 내용 질문드립니다.

답변 1

본문

안녕하세요.

이니시스 결제를 이용해 결제를 했을때

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 '<input type="hidden" name="P_FN_CD1"   value="'.$PAY['P_FN_CD1'].'">'.PHP_EOL;
echo '<input type="hidden" name="P_CARD_NUM"   value="'.$PAY['P_CARD_NUM'].'">'.PHP_EOL;
echo '<input type="hidden" name="P_RMESG2"   value="'.$PAY['P_RMESG2'].'">'.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',
                ................

// 이니시스 NOTI 서버에서 받은 Value
이니시스에서 넘어온 값에 $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 으로도 보세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,284
© SIRSOFT
현재 페이지 제일 처음으로