주문상태 완료인데 포인트 자동적립이 안 됩니다. 채택완료
신용카드 결제 시 주문상태가 입금이 아닌 완료로 바뀌도록 설정했고, 주문완료 0일 후에 신용카드도 포인트 자동적립 되도록 했는데 신용카드 결제완료 시 포인트 자동적립이 안 됩니다.
orderformupdate.php
Copy
else if ($od_settle_case == "신용카드")
.
.
.
if($od_misu == 0)
$od_status = '완료';


phpmyadmin을 봐보니까 g5_shop_cart에 ct_status가 "완료"가 되었지만 ct_point_use가 0으로 나와있고,
아래 주문내역에서 "보기" 버튼을 누르면 그제서야 ct_point_use가 1로 바뀌면서 포인트가 적립이 됩니다.

shop.lip.php에
Copy
function save_order_point($ct_status="완료")
{
global $g5, $default;
$beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
$sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time
위와 같이 되어있고
adm/shop_admin/orderform.php에
Copy
// 완료된 주문에 포인트를 적립한다.
save_order_point("완료");
라고 되어 있습니다.
orderformupdate.php에
아래 코드 바로 위에
Copy
goto_url(G5_SHOP_URL.'/orderinquiryview.php?od_id='.$od_id.'&uid='.$uid);
Copy
// 완료된 주문에 포인트를 적립한다.
save_order_point("완료");
이것도 해봤는데 안 되고요.
신용카드 결제 시 바로 "완료"처리가 되는데 포인트 자동적립이 안 되고,
왜 위 주문내역에 "보기" 버튼을 클릭해야 포인트 자동적립이 되는 걸까요?
전문가님들께 조언을 구합니다.
답변 1개
채택된 답변
+20 포인트
8개월 전
관리화면 > 쇼핑몰설정에서 결제설정 탭메뉴에서
신용카드, 계좌이체, 휴대폰 결제시 포인트를 적립 설정 예로 되어 있을까요?
로그인 후 평가할 수 있습니다
답변에 대한 댓글 6개
�
8개월 전
카드결제 완료 처리전인 상단에 적용한거라면
안될수 있으니
완료 처리 상태 후 처리 되도록 하단에 해당 소스를 적용하셔야 할듯 합니다.
상태 변경이 완료 된것만 반영되기 때문 입니다.
[code]
// 완료된 주문에 포인트를 적립한다.
save_order_point("완료");
[/code]
안될수 있으니
완료 처리 상태 후 처리 되도록 하단에 해당 소스를 적용하셔야 할듯 합니다.
상태 변경이 완료 된것만 반영되기 때문 입니다.
[code]
// 완료된 주문에 포인트를 적립한다.
save_order_point("완료");
[/code]
�
8개월 전
네 플라이님 답변 감사합니다.
그래서 orderformupdate.php에서
신용카드 결제 시 미수금 0원으로 od_misu가 0이라서 od_status가 완료로 바뀌게 해두었고,
(phpmyadmin에 ct_status를 보면 "완료"로 실제로 바뀌었습니다.)
동일 php파일 맨 하단에 있는
goto_url(G5_SHOP_URL.'/orderinquiryview.php?od_id='.$od_id.'&uid='.$uid);
부분 보면 orderinquiryview.php로 가기 전에
save_order_point("완료");
위 코드를 썼는데 포인트 자동적립이 안 되네요 ㅜㅜ
즉, orderformupdate.php에서
신용카드 결제 시 미수금 0원 --> status 완료 처리 --> save_order_point 완료 함수 발동 --> orderinquiryview 페이지로 이동
모두 다 이뤄지도록 했는데 왜 save_order_point 완료 함수만 안 되는 건지 궁금하네요 ㅜㅜ
제가 원본 글에 쓴 거에 어떤 부분이 틀린 건지를 모르겠어요..ㅜ
그래서 orderformupdate.php에서
신용카드 결제 시 미수금 0원으로 od_misu가 0이라서 od_status가 완료로 바뀌게 해두었고,
(phpmyadmin에 ct_status를 보면 "완료"로 실제로 바뀌었습니다.)
동일 php파일 맨 하단에 있는
goto_url(G5_SHOP_URL.'/orderinquiryview.php?od_id='.$od_id.'&uid='.$uid);
부분 보면 orderinquiryview.php로 가기 전에
save_order_point("완료");
위 코드를 썼는데 포인트 자동적립이 안 되네요 ㅜㅜ
즉, orderformupdate.php에서
신용카드 결제 시 미수금 0원 --> status 완료 처리 --> save_order_point 완료 함수 발동 --> orderinquiryview 페이지로 이동
모두 다 이뤄지도록 했는데 왜 save_order_point 완료 함수만 안 되는 건지 궁금하네요 ㅜㅜ
제가 원본 글에 쓴 거에 어떤 부분이 틀린 건지를 모르겠어요..ㅜ
�
8개월 전
그렇다면
save_order_point함수에 쿼리를 직접 찍히게 해서 쿼리를 실행해서 데이터가 나타나는지 확인을 해보셔야 할듯 합니다.
save_order_point함수에 쿼리를 직접 찍히게 해서 쿼리를 실행해서 데이터가 나타나는지 확인을 해보셔야 할듯 합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인