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

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

QA

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

본문

안녕하세요.

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

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 으로도 보세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 146
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT