영카트내 결제시스템 모바일/pc 구분에 대하여 질문드립니다.

영카트내 결제시스템 모바일/pc 구분에 대하여 질문드립니다.

QA

영카트내 결제시스템 모바일/pc 구분에 대하여 질문드립니다.

본문

안녕하세요~아침 저녁 쌀쌀한 좋은 날씨입니다~

영카트에 대한 이해력이 부족해서 질문 하나 드립니다.

 

올초에 영카트 기반으로 사이트를 하나 제작하면서 

theme.config.php 에서 

define('G5_THEME_DEVICE', 'pc'); 로 장치 고정을 한 뒤 bootstrap으로 제작을 해보았습니다.

그런데 pc로 고정을 해서 그런지 핸폰이나 패드 같은 모바일 기기에서는 결제시스템이 pc버전으로 넘어가면서 결제가 안되더군요.

어찌어찌해서 결제시스템만 mobile로 강제로 가게끔 해서 해결을 하긴 했었습니다.

 

그러다 솔소님 등 냑 직원분들이 만든 테마를 보니 모바일로 고정을 해서 제작을 하시던데요.

이런 경우에 pc에서 접속할 경우 결제완료까지 정상적으로 진행이 되는지 궁금하네요.

 

제가 잘못 이해하고 있는건지 아니면 제작중에 제가 실수를 한 것인지 알 수가 없어 이렇게 질문드립니다.

 

NHN KCP 같은 결제 시스템은 pc와 mobile을 define('G5_THEME_DEVICE', '');의 설정과 상관 없이 결제가 정상적으로 이루어지는건지

아니면 반응형이나 mobile전용으로 제작할 시에 define('G5_THEME_DEVICE', 'mobile'); 으로 고정하고 mobile로 개발을 해야하는건지 궁금합니다.

이 질문에 댓글 쓰기 :

답변 3

국내 pg사의 대부분은 pc결제모듈과 모바일결제모듈이 엄격히 분리되어 있습니다.

pc모듈에서 모바일결제 불가능하고,

모바일기기에서 pc결제 불가합니다.

일단 확인한바로는 이니시스, KCP, LGUplus가 그랬습니다.

 

pg사에서 제공하는 결제모듈과 매뉴얼을 보면 호환이 안된다고 별도 개발하라고 적혀 있습니다.

샘플 모듈을 살펴봐도 변수값의 이름 조차도 다름을 알 수 있쬬

 

이니시스를 예를 들면 상품이름이

pc 모듈에서는 goodname 를 모바일에서는 P_GOODS 로 사용합니다

주말인데도 답변 감사드립니다~
제가 찾던 답과 비슷해지고 있는 것 같네요. ^^
하나가 더 궁금한게 있는데요..
만약 반응형으로 제작했을 경우에 결제 모듈은 pc나 mobile 상관 없이 제대로 넘어가서 결제가 이루어질까요?

반응형 개발이 문제인데요.
이경우에는 스마트폰 디바이스 여부를 확인해서 그것에 맞는 전자결제 모듈을 호출하는 방식으로 하는게 좋습니다.
화면 사이즈에 의함이 아니라, 스마트폰 디바이스인가 아닌가에 의해서 말입니다.

차이점이 있다면  define('G5_THEME_DEVICE', '');  로는 제어하는 것은 적절하지 않습니다.
?device=mobile , ?device=pc 이렇하면 변경되기때문에
스마트기기에서 ?device=pc 로 변경하는 경우에 pc 모듈이 작동하면 안되기 때문이죠

<?php
// 브라우저 정보로 홈페이지 이동하기
$ua  = $_SERVER['HTTP_USER_AGENT']; // 브라우저 정보
if(preg_match('/(Android|Opera Mini|SymbianOS|Windows CE|BlackBerry|BB10|webOS|PalmOS|Mobile|iPhone|Nokia|samsung|lgtel|SonyEricsson|[^A]skt|blackberry|BB10|DoCoMo|J-PHONE|Vodafone|SoftBank|MOT-|UP.Browser|KDDI|WILLCOM|SHARP|DDIPOCKET|PSP)/i', $ua))
{
  $new_device="mobile";
} else {
  $new_device="pc";
}
이렇게 별도로 스마트기기의 종류에 따른 분기를 해야합니다.

PC와 Mobile 이 분리된 형태일때는
PC일때 호출하는 결제모듈과
Mobile 일때 호출하는 결제모듈이 다른데요.

모바일 기기에서 PC화면보기로 전환하면 PC모듈의 영역 device=pc 가 되면서
결제모듈도 pc 결제모듈이 올라오는듯 하더군요.

제가 이야기한 목적은 device 종류에 따라서 결제모듈을 가져오는 방식이 아니라
리얼 기기의 종류를 체크해서 결제모듈을 호출해야한다는 그런 취지였습니다.

반응형이라는 것은 화면 크기에 따라서 변경되는 방식이기때문에
device 라는 개념과는 다른 이야기가 되는거니까요.

device를 pc로 고정하지 않으면 결제시 pg사 pc 서버 모듈이 mobile도 지원하기 때문에 pg사 테블릿/모바일 결제창으로 넘어갑니다.

답변 감사합니다.
제가 걱정하는 부분이었는데요..
device를 pc로 고정해서 반응형으로 제작했더니 핸드폰에서는 결제모듈이 mobile대신 pc로 실행이 되어 결제가 이루어지지 않는 것 같더라구요..
그래서 이 부분을 어떻게 해야하는지가 궁금합니다.

is_mobile() 함수를 사용하시면 device상테가 모바일인 pc인지 확인이 가능합니다.

즉 if조건을 만드셔서 모바일일경우  모바일 결제과 피시 결제 모듈을 호출하시면될꺼 같습니다.

 

예를들어...

 

if (is_mobile()) {

  include G5_MOBILE_PATH."/settle_kcp.inc.php";

} else {

  include G5_PATH."settle_kcp.inc.php";

}

 

이런식으로 호출하면될꺼 같습니다.

답변 감사합니다.
define('G5_THEME_DEVICE', '');  <= 이렇게 결정을 안해놓았을 때는 상관이 없는데 device를 결정하고 나면 거기에 맞춰 모듈을 정하게 하지 말고 복스르님 코드처럼 다시 분기를 시키라는 말씀이시죠?

네 그부분은 알고 있습니다.
전 define('G5_THEME_DEVICE', 'pc'); 라고 지정을 해버리면 결제모듈도 무조건 pc로 넘어가는 것 같아서 이렇게 해도 모바일기기에서 결제가 정상적으로 이루어지는지 궁금해서 질문드렸습니다~

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

회원로그인

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