영카트내 결제시스템 모바일/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 로 사용합니다
device를 pc로 고정하지 않으면 결제시 pg사 pc 서버 모듈이 mobile도 지원하기 때문에 pg사 테블릿/모바일 결제창으로 넘어갑니다.
is_mobile() 함수를 사용하시면 device상테가 모바일인 pc인지 확인이 가능합니다.
즉 if조건을 만드셔서 모바일일경우 모바일 결제과 피시 결제 모듈을 호출하시면될꺼 같습니다.
예를들어...
if (is_mobile()) {
include G5_MOBILE_PATH."/settle_kcp.inc.php";
} else {
include G5_PATH."settle_kcp.inc.php";
}
이런식으로 호출하면될꺼 같습니다.