신용카드 결제는 승인됐는데 주문내역이 insert가 안되네요

신용카드 결제는 승인됐는데 주문내역이 insert가 안되네요

QA

신용카드 결제는 승인됐는데 주문내역이 insert가 안되네요

답변 3

본문

안녕하세요.

영카트에 easypay를 붙혀서 개발중입니다.

일단 pc에서는 거의 문제가 없이 결제가 되고 order테이블에 주문도 잘 들어가는데요

문제는 모바일 주문시 10건중 3-4건이 카드 결제승인은 됐는데 order테이블에

주문이 안들어가서 고객이 주문을 했는지 안했는지 파악이 안되는 사태가 벌어지고 있습니다.

주문했을때 계속 안되면 뭔가 문제를 찾아보겠는데 이게 제가 아무리 결제 테스트를 해도

결제 승인 잘 되고 order테이블에 주문 잘 들어오고 하거든요;;;;그런데 카드사 관리자페이지랑

order테이블이랑 비교해서 보고 있으면 카드결제는 되어있는데 order테이블에는 누락되어있는 건수가

계속 발생을 합니다.....무조건이 아니고 3-4건 성공하고 1건 누락되고 이런식으로요......

사이트 오픈은 어제 해서 결제가 조금 몰리긴 합니다. 그렇다고 몇백명이 동시에 막 몰리는 그런건 아니구요

 

혹시 비슷한 경험이 있으신 분들이나 있으셨는데 해결하신 경험이 있으신분들 조언 부탁드립니다.

아무리 찾아봐도 어디를 어떻게 손봐야 할 지 감이 안잡히네요;;;;

이 질문에 댓글 쓰기 :

답변 3

이러한 경우 대부분

pg사의 주문번호 중복건이 있을때 발생할 수 있는 상황일 수도 있습니다.

 

개발자님께서 개인이서 테스트해보면 잘되겠지만,

실제 운영에 들어가보면 트래픽이 많은 날에는 사용자가 동시에 요청시

pg사에 들어가는 주문번호가 동시에 요청 받아 하나는 실패되는 경우도 있습니다.

 

이러한 경우는 트랜젝션 처리를 해주는것이 맞습니다.

 

그리고, 이건 어디까지나 저의 추축이며, 가장 정확한 방법은 오류메일을 통보 받으셔야 합니다.

pg사 관리페이지에서 오류 발생시 통보메일 설정하시고 확인해 보시면

대응이 가능하십니다.

 

그렇게 일부분만 그렇다면 누락된 부분이 공통점이 있지 않을까요?

 

전혀 예상치도 못한거라도 말이죠

 

예를 들면 상품명이 너무 길다거나 이름이 영어라던가 뭔가가 공통점이 있을거 같은데요

insert query문 log를 남겨 보세요.

orderformupdate에 $orderNumber = $order_no; 아래부분에 로그를 찍었는데 $orderNumber는 제대로 찍힙니다. 그러면 그 아래
if( !$orderNumber ){
    alert("주문번호가 없습니다.");
}
여기는 그냥 통과해야하는데 여기서 끊겼다가 안끊겼다가 하네요. $orderNumber는 끊기던 안끊기던 계속 넘어옵니다.;;;;;;

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 58
© SIRSOFT
현재 페이지 제일 처음으로