네이버결제에 mb_level 값 넘겨서 적용하고 싶어요.
본문
안녕하세요~
영카트 최신버전으로 쇼핑몰을 운영하고 있고요.
운영중에 딜러들에게는 회원권한을 8등급 이상을 주고,
할인가로 결제가 되게끔 커스터마이징을 했는데요.
네이버페이로도 할인가를 넘기는데,
mb_level 값이 안넘어가다보니 조건을 걸수가 없어서 도움을 요청하고자 작성하였습니다.
/lib/naverpay.lib.php
#121 function query() 영역에서,
if ($it['it_price_vip'] && $mb_level >= 8 && $it['ca_id']=="70") {
$uprice = get_price_vip($it);
} else {
$uprice = get_price($it);
}
위와 같이 입력하면 $it 값은 해당 페이지에서 이미 호출해서 쓰는 값이니 잘 불러지는데,
$mb_level 또는 $member['mb_level'] 을 해주면 어떻게 해도 멤버 등급값을 가져오지 못한다는 것입니다.
해당 페이지를 제외한 모든 페이지에서는 이미 common.php에서 정의된 값이니 제대로 잘 나옵니다.
결국, naverpay.lib.php에 멤버관련 값을 불러오지 못한다는 이야기인데,
이러다보니 이전 페이지에서 mb_level 값을 던져주고 싶어도, 어디를 수정해야할지 모르겠습니다. ㅠㅠ
naverpay.lib.php를 호출하는 페이지는 /shop/naverpay/naverpay_order.php 이고요.
include_once(G5_LIB_PATH.'/naverpay.lib.php');
어디서 값을 어떻게 보내줘야 할지....
테스트와 테스트를 거듭하다가 글을 남깁니다. ㅠㅠ
작은 키포인트라도 좋으니 도와주시면 정말 감사하겠습니다.
!-->답변 1
혹시 도움이 필요하신 분이 계실지 몰라,
해결방안을 작성해놓습니다.
naverpay.lib.php 등의 페이지에서 해결하지 않고,
/lib/shop.lib.php 페이지에서 추가로 정의해놓은,
get_price_vip 함수에다가 조건을 걸어줬습니다.
예를 들면 아래와 같이,
// 금액표시
// $it : 상품 배열
function get_price($it)
{
global $member;
if ($it['it_tel_inq']) return '전화문의';
$price = $it['it_price'];
return (int)$price;
}
// $it3 : 딜러가 상품 배열
function get_price_vip($it)
{
global $member;
if ($member['mb_level'] >= 8) { $price_vip = $it['it_price_vip']; }
else { $price_vip = $it['it_price']; }
return (int)$price_vip;
}
그리고 /lib/naverpay.lib.php 페이지에서는 조건을 빼올수 있는 상품정보로만 가볍게 걸어줬습니다.
if ($it['it_price_vip']) {
$uprice = get_price_vip($it);
} else {
$uprice = get_price($it);
}
!-->!-->