테스트 사이트 - 개발 중인 베타 버전입니다

LG U+ 계좌이체시 문제점...? 채택완료

KIMys 10년 전 조회 13,860

지금 고객이 주문은 했는데 주문 이력은 없고 엘지 유 플러스에서 승인번호는 존재하는 주문건들이 생겨 엘지에 확인 해 보니...

모바일 버전에서 엘지 계좌이체 처리시 승인받은 후 처리 프로세서가 없는거 같다는 황당한 답변을 받았네요.

 

계좌이체 처리시 비동기니 동기화니 ?  어찌 해야 합니까 ?

모바일 승인시 리턴 받는 주소는 또 뭘로 해야 합니까 ?

 

저희는 엘지에 가상계좌, 계좌이체(에스크로), 신용카드 만 사용 합니다.

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
편리
10년 전

mobile/shop/lg/xpay_approval.php 파일의 코드를 아래 코드로 수정해 보시기 바랍니다.

 

</p><p><?php</p><p>include_once('./_common.php');</p><p>require_once(G5_MSHOP_PATH.'/settle_lg.inc.php');</p><p> </p><p>/*</p><p> * 1. 기본결제 인증요청 정보 변경</p><p> *</p><p> * 기본정보를 변경하여 주시기 바랍니다.(파라미터 전달시 POST를 사용하세요)</p><p> */</p><p>$LGD_OID                    = $_POST['LGD_OID'];                //주문번호(상점정의 유니크한 주문번호를 입력하세요)</p><p>$LGD_AMOUNT                 = $_POST['LGD_AMOUNT'];             //결제금액("," 를 제외한 결제금액을 입력하세요)</p><p>$LGD_BUYER                  = $_POST['LGD_BUYER'];              //구매자명</p><p>$LGD_PRODUCTINFO            = $_POST['LGD_PRODUCTINFO'];        //상품명</p><p>$LGD_BUYEREMAIL             = $_POST['LGD_BUYEREMAIL'];         //구매자 이메일</p><p>$LGD_CUSTOM_FIRSTPAY        = $_POST['LGD_CUSTOM_FIRSTPAY'];    //상점정의 초기결제수단</p><p>$LGD_TAXFREEAMOUNT          = $_POST['LGD_TAXFREEAMOUNT'];      //비과세 금액</p><p>$LGD_CASHRECEIPTYN          = $_POST['LGD_CASHRECEIPTYN'];      //현금영수증 사용설정</p><p>$LGD_BUYERID                = $_POST['LGD_BUYERID'];            //구매자 ID</p><p>$LGD_BUYERPHONE             = $_POST['LGD_BUYERPHONE'];         //구매자 휴대폰번호</p><p> </p><p>$LGD_RETURNURL<span class="Apple-tab-span" style="white-space:pre">			</span>    = G5_MSHOP_URL.'/lg/returnurl.php';</p><p>$LGD_KVPMISPNOTEURL         = G5_MSHOP_URL.'/lg/note_url.php';</p><p>$LGD_KVPMISPWAPURL<span class="Apple-tab-span" style="white-space:pre">		</span>    = G5_MSHOP_URL.'/lg/mispwapurl.php?LGD_OID='.$LGD_OID;   //ISP 카드 결제시, URL 대신 앱명 입력시, 앱호출함</p><p>$LGD_KVPMISPCANCELURL       = G5_MSHOP_URL.'/lg/cancel_url.php';</p><p>$LGD_MTRANSFERWAPURL        = G5_MSHOP_URL.'/lg/returnurl.php';</p><p>$LGD_MTRANSFERCANCELURL     = G5_MSHOP_URL.'/lg/cancel_url.php';</p><p>$LGD_MTRANSFERNOTEURL       = G5_MSHOP_URL.'/note_url.php';</p><p>if(preg_match('/iPhone|iPad/', $_SERVER['HTTP_USER_AGENT']))</p><p>    $LGD_MTRANSFERAUTOAPPYN     = 'N';</p><p>else</p><p>    $LGD_MTRANSFERAUTOAPPYN     = 'A';</p><p> </p><p>/*</p><p> *************************************************</p><p> * 2. MD5 해쉬암호화 (수정하지 마세요) - BEGIN</p><p> *</p><p> * MD5 해쉬암호화는 거래 위변조를 막기위한 방법입니다.</p><p> *************************************************</p><p> *</p><p> * 해쉬 암호화 적용( LGD_MID + LGD_OID + LGD_AMOUNT + LGD_TIMESTAMP + LGD_MERTKEY )</p><p> * LGD_MID          : 상점아이디</p><p> * LGD_OID          : 주문번호</p><p> * LGD_AMOUNT       : 금액</p><p> * LGD_TIMESTAMP    : 타임스탬프</p><p> * LGD_MERTKEY      : 상점MertKey (mertkey는 상점관리자 -> 계약정보 -> 상점정보관리에서 확인하실수 있습니다)</p><p> *</p><p> * MD5 해쉬데이터 암호화 검증을 위해</p><p> * LG유플러스에서 발급한 상점키(MertKey)를 환경설정 파일(lgdacom/conf/mall.conf)에 반드시 입력하여 주시기 바랍니다.</p><p> */</p><p> </p><p>$xpay = new XPay($configPath, $CST_PLATFORM);</p><p> </p><p>// Mert Key 설정</p><p>$xpay->set_config_value('t'.$LGD_MID, $config['cf_lg_mert_key']);</p><p>$xpay->set_config_value($LGD_MID, $config['cf_lg_mert_key']);</p><p> </p><p>$xpay->Init_TX($LGD_MID);</p><p>$LGD_HASHDATA = md5($LGD_MID.$LGD_OID.$LGD_AMOUNT.$LGD_TIMESTAMP.$xpay->config[$LGD_MID]);</p><p>$LGD_CUSTOM_PROCESSTYPE = "TWOTR";</p><p>/*</p><p> *************************************************</p><p> * 2. MD5 해쉬암호화 (수정하지 마세요) - END</p><p> *************************************************</p><p> */</p><p>$CST_WINDOW_TYPE = "submit";                                       // 수정불가</p><p>$payReqMap['CST_PLATFORM']           = $CST_PLATFORM;              // 테스트, 서비스 구분</p><p>$payReqMap['CST_WINDOW_TYPE']        = $CST_WINDOW_TYPE;           // 수정불가</p><p>$payReqMap['CST_MID']                = $CST_MID;                   // 상점아이디</p><p>$payReqMap['LGD_MID']                = $LGD_MID;                   // 상점아이디</p><p>$payReqMap['LGD_OID']                = $LGD_OID;                   // 주문번호</p><p>$payReqMap['LGD_BUYER']              = $LGD_BUYER;                 // 구매자</p><p>$payReqMap['LGD_PRODUCTINFO']        = $LGD_PRODUCTINFO;           // 상품정보</p><p>$payReqMap['LGD_AMOUNT']             = $LGD_AMOUNT;                // 결제금액</p><p>$payReqMap['LGD_BUYEREMAIL']         = $LGD_BUYEREMAIL;            // 구매자 이메일</p><p>$payReqMap['LGD_CUSTOM_SKIN']        = $LGD_CUSTOM_SKIN;           // 결제창 SKIN</p><p>$payReqMap['LGD_CUSTOM_PROCESSTYPE'] = $LGD_CUSTOM_PROCESSTYPE;    // 트랜잭션 처리방식</p><p>$payReqMap['LGD_TIMESTAMP']          = $LGD_TIMESTAMP;             // 타임스탬프</p><p>$payReqMap['LGD_HASHDATA']           = $LGD_HASHDATA;              // MD5 해쉬암호값</p><p>$payReqMap['LGD_RETURNURL']          = $LGD_RETURNURL;             // 응답수신페이지</p><p>$payReqMap['LGD_VERSION']            = "PHP_SmartXPay_1.0";        // 버전정보 (삭제하지 마세요)</p><p>$payReqMap['LGD_CUSTOM_FIRSTPAY']    = $LGD_CUSTOM_FIRSTPAY;       // 디폴트 결제수단</p><p>$payReqMap['LGD_CUSTOM_SWITCHINGTYPE']  = "SUBMIT";        // 신용카드 카드사 인증 페이지 연동 방식</p><p>$payReqMap['LGD_ENCODING']           = "UTF-8";</p><p>$payReqMap['LGD_ENCODING_NOTEURL']   = "UTF-8";</p><p>$payReqMap['LGD_ENCODING_RETURNURL'] = "UTF-8";</p><p>$payReqMap['LGD_TAXFREEAMOUNT']      = $LGD_TAXFREEAMOUNT;</p><p>$payReqMap['LGD_CASHRECEIPTYN']      = $LGD_CASHRECEIPTYN;</p><p>$payReqMap['LGD_BUYERPHONE']         = $LGD_BUYERPHONE;</p><p>$payReqMap['LGD_BUYERID']            = $LGD_BUYERID;</p><p> </p><p>/*</p><p>****************************************************</p><p>* 안드로이드폰 신용카드 ISP(국민/BC)결제에만 적용 (시작)*</p><p>****************************************************</p><p> </p><p>(주의)LGD_CUSTOM_ROLLBACK 의 값을  "Y"로 넘길 경우, LG U+ 전자결제에서 보낸 ISP(국민/비씨) 승인정보를 고객서버의 note_url에서 수신시  "OK" 리턴이 안되면  해당 트랜잭션은  무조건 롤백(자동취소)처리되고,</p><p>LGD_CUSTOM_ROLLBACK 의 값 을 "C"로 넘길 경우, 고객서버의 note_url에서 "ROLLBACK" 리턴이 될 때만 해당 트랜잭션은  롤백처리되며  그외의 값이 리턴되면 정상 승인완료 처리됩니다.</p><p>만일, LGD_CUSTOM_ROLLBACK 의 값이 "N" 이거나 null 인 경우, 고객서버의 note_url에서  "OK" 리턴이  안될시, "OK" 리턴이 될 때까지 3분간격으로 2시간동안  승인결과를 재전송합니다.</p><p>*/</p><p> </p><p>$payReqMap['LGD_CUSTOM_ROLLBACK']    = "";                             // 비동기 ISP에서 트랜잭션 처리여부</p><p>$payReqMap['LGD_KVPMISPNOTEURL']     = $LGD_KVPMISPNOTEURL;            // 비동기 ISP(ex. 안드로이드) 승인결과를 받는 URL</p><p>$payReqMap['LGD_KVPMISPWAPURL']      = $LGD_KVPMISPWAPURL;             // 비동기 ISP(ex. 안드로이드) 승인완료후 사용자에게 보여지는 승인완료 URL</p><p>$payReqMap['LGD_KVPMISPCANCELURL']   = $LGD_KVPMISPCANCELURL;          // ISP 앱에서 취소시 사용자에게 보여지는 취소 URL</p><p> </p><p>/*</p><p>****************************************************</p><p>* 안드로이드폰 신용카드 ISP(국민/BC)결제에만 적용    (끝) *</p><p>****************************************************</p><p>*/</p><p> </p><p>// 안드로이드 에서 신용카드 적용  ISP(국민/BC)결제에만 적용 (선택)</p><p>// $payReqMap['LGD_KVPMISPAUTOAPPYN'] = "Y";</p><p>// Y: 안드로이드에서 ISP신용카드 결제시, 고객사에서 'App To App' 방식으로 국민, BC카드사에서 받은 결제 승인을 받고 고객사의 앱을 실행하고자 할때 사용</p><p> </p><p>// 가상계좌(무통장) 결제연동을 하시는 경우  할당/입금 결과를 통보받기 위해 반드시 LGD_CASNOTEURL 정보를 LG 유플러스에 전송해야 합니다 .</p><p>$payReqMap['LGD_CASNOTEURL'] = $LGD_CASNOTEURL;               // 가상계좌 NOTEURL</p><p> </p><p>// 계좌이체 파라미터</p><p>//$payReqMap['LGD_MTRANSFERWAPURL']    = $LGD_MTRANSFERWAPURL;</p><p>//$payReqMap['LGD_MTRANSFERCANCELURL'] = $LGD_MTRANSFERCANCELURL;</p><p>$payReqMap['LGD_MTRANSFERNOTEURL']   = $LGD_MTRANSFERNOTEURL;</p><p>$payReqMap['LGD_MTRANSFERAUTOAPPYN'] = $LGD_MTRANSFERAUTOAPPYN;</p><p> </p><p>//Return URL에서 인증 결과 수신 시 셋팅될 파라미터 입니다.*/</p><p>$payReqMap['LGD_RESPCODE']           = "";</p><p>$payReqMap['LGD_RESPMSG']            = "";</p><p>$payReqMap['LGD_PAYKEY']             = "";</p><p> </p><p>$_SESSION['PAYREQ_MAP'] = $payReqMap;</p><p> </p><p>$g5['title'] = 'LG 유플러스 eCredit서비스 결제';</p><p>$g5['body_script'] = 'onload="launchCrossPlatform();"';</p><p>include_once(G5_PATH.'/head.sub.php');</p><p>?></p><p> </p><p><script language="javascript" src="<a href="<a href="http://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js" target="_blank" rel="noopener noreferrer">http://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js</a>"><a href="http://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js" target="_blank" rel="noopener noreferrer">http://xpay.uplus.co.kr/xpay/js/xpay_crossplatform.js</a></a>" type="text/javascript"></script></p><p><script type="text/javascript"></p><p> </p><p>/*</p><p>* iframe으로 결제창을 호출하시기를 원하시면 iframe으로 설정 (변수명 수정 불가)</p><p>*/</p><p>    var LGD_window_type = '<?php echo $CST_WINDOW_TYPE; ?>';</p><p>/*</p><p>* 수정불가</p><p>*/</p><p>function launchCrossPlatform(){</p><p>    lgdwin = open_paymentwindow(document.getElementById('LGD_PAYINFO'), '<?php echo $CST_PLATFORM; ?>', LGD_window_type);</p><p>}</p><p>/*</p><p>* FORM 명만  수정 가능</p><p>*/</p><p>function getFormObject() {</p><p>    return document.getElementById("LGD_PAYINFO");</p><p>}</p><p> </p><p></script></p><p><form method="post" name="LGD_PAYINFO" id="LGD_PAYINFO" action=""></p><p><?php</p><p>  foreach ($payReqMap as $key => $value) {</p><p>    echo'"<input type="hidden" name="'.$key.'" id="'.$key.'" value="'.$value.'">';</p><p>  }</p><p>?></p><p></form></p><p> </p><p><?php</p><p>include_once(G5_PATH.'/tail.sub.php');</p><p>?> </p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

K
KIMys
10년 전
감사합니다. 일단 적용은 했고 모니터링을 해야 할 듯 하네요...

혹시, 궁금해서 그런데요....
주문 페이지에서 고객이 주문하면 NaN이라는 페이지가 나온다고 합니다. 그러고 결제가 안된다는데..
이런 경우 어떻게 해야 하나요 ?

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인