카드결제는 승인되고 주문내역은 남지않는 문제

카드결제는 승인되고 주문내역은 남지않는 문제

QA

카드결제는 승인되고 주문내역은 남지않는 문제

본문

안녕하세요. 그누커머스의 성장에 함께하고픈 개발자입니다.

 

현재 그누커머스를 통한 쇼핑몰을 운영중입니다.

 

문제되는 현상은 카드결제는 승인이되어 이니시스에서는 확인이 가능하지만, 주문내역을 확인할 수 없는 현상입니다.

 

결국 구매자가 배송이 되지 않아 컴플레인을 재기해야 관리자가 인지할 수 있게 되었습니다.

모든 결제가 이런 문제가 되는 것은 아니고, 간혹 이런 문제가 생깁니다. 

 

어떤 부분이 문제인지 알고 싶어, 문제가 생긴 주문에 대해 검토를 해보았습니다.

 

1) 주문이 들어올때 동시간대에 들어온 주문이 없는지?  없었습니다.

2) 주문내역 등록이 실패된 주문건의 카드사가 특정 카드사인지? 그렇지 않았습니다. 같은 카드사여도 주문내역에 등록이 된 건수가 있었습니다.

 

이 두 사항을 제외하고 문제가 발생할 우려가 될만한 사항이 어떤것 들이 있을까요?

전문개발자 분들의 도움이 필요합니다. 감사합니다.

이 질문에 댓글 쓰기 :

답변 2

안녕하세요.

 

주문 누락이 된 원인에는 결제를 하는 과정에서 브라우저를 닫거나, 브라우저 오류가 생겨서 멈추거나, PG사에서 결제 데이터를 보내는 과정에서 네트워크 장애가 일어날 경우 일어날수 있습니다.

 

그누커머스 1.4.3 버전에 미완료주문 처리 기능이 들어 갔으니, 1.4.3 버전으로 패치해 주시길 바랍니다.

 

미완료주문 기능은 order_data 테이블에 남아있는 데이터를 조회할 수 있고

이 데이터와 PG 결제 데이터를 비교해서 주문접수되지 않은 주문을 정상적인

주문으로 복구할 수 있도록 하고 있습니다.

 

미완료 주문은 그누커머스 -> 기타 -> 미완료주문 탭에서 확인하실수 있습니다.

 

2774f936310fbd43dbc8bd373ac5ee04_1489364507_2928.png
 

 

그냥

orderformupdate.php


// 주문서에 입력
$sql = " insert {$g5['g5_shop_order_table']}
            set od_id             = '$od_id',
                mb_id             = '{$member['mb_id']}',
                od_pwd            = '$od_pwd',
                od_name           = '$od_name',
                od_email          = '$od_email',
                od_tel            = '$od_tel',
                od_hp             = '$od_hp',
                od_zip1           = '$od_zip1',
                od_zip2           = '$od_zip2',
                od_addr1          = '$od_addr1',
                od_addr2          = '$od_addr2',
                od_addr3          = '$od_addr3',
                od_addr_jibeon    = '$od_addr_jibeon',
                od_b_name         = '$od_b_name',
                od_b_tel          = '$od_b_tel',
                od_b_hp           = '$od_b_hp',
                od_b_zip1         = '$od_b_zip1',
                od_b_zip2         = '$od_b_zip2',
                od_b_addr1        = '$od_b_addr1',
                od_b_addr2        = '$od_b_addr2',
                od_b_addr3        = '$od_b_addr3',
                od_b_addr_jibeon  = '$od_b_addr_jibeon',
                od_deposit_name   = '$od_deposit_name',
                od_memo           = '$od_memo',
                od_cart_count     = '$cart_count',
                od_cart_price     = '$tot_ct_price',
                od_cart_coupon    = '$tot_it_cp_price',
                od_send_cost      = '$od_send_cost',
                od_send_coupon    = '$tot_sc_cp_price',
                od_send_cost2     = '$od_send_cost2',
                od_coupon         = '$tot_od_cp_price',
                od_receipt_price  = '$od_receipt_price',
                od_receipt_point  = '$od_receipt_point',
                od_bank_account   = '$od_bank_account',
                od_receipt_time   = '$od_receipt_time',
                od_misu           = '$od_misu',
                od_pg             = '$od_pg',
                od_tno            = '$od_tno',
                od_app_no         = '$od_app_no',
                od_escrow         = '$od_escrow',
                od_tax_flag       = '$od_tax_flag',
                od_tax_mny        = '$od_tax_mny',
                od_vat_mny        = '$od_vat_mny',
                od_free_mny       = '$od_free_mny',
                od_status         = '$od_status',
                od_mobile         = '$od_mobile',
                od_shop_memo      = '',
                od_hope_date      = '$od_hope_date',
                od_time           = '".G5_TIME_YMDHIS."',
                od_ip             = '$REMOTE_ADDR',
                od_settle_case    = '$od_settle_case',
                od_test           = '{$default['de_card_test']}'
                ";

 

echo $sql;

  exit;

//확인 해 보세요
$result = sql_query($sql, false);

 

 

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

회원로그인

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