일반 카드결제, 계좌이체, 가상계좌 등은 정상적으로 성공으로 떨어지나, 간편결제로 결제한 경우에만 successUrl이 두번 호출되어 이미 처리된 결제건이라고 실패처리로 떨어집니다.
개발자센터의 라이브키 API로그를 확인해보니 1초차이로 2번씩 요청이 들어왔다고 나오며 아래와 같습니다.
[최초 정상결제]
orderId : ariskrkwwk-mall-17153744-S2024060010
X-Tosspayments-Trace-Id : 2f8bdf9daa1cd2178a69bb7270fc51a9
[1초 후 이미 결제된 건이라고 실패처리]
orderId : ariskrkwwk-mall-17153744-S2024060010
X-Tosspayments-Trace-Id : 33a82d5595197eb02cdddc56c464c271
이렇게 되어서 최종적으로는 결제실패로 떨어지는데요.
일반 결제인 경우 정상적으로 처리되는데 간편결제 시에만 왜 두번 호출이 되는지 모르겠습니다.
결제 프로세스는
1. 리다이렉트 URL 처리를 통해
tossPayments.requestPayment('카드', { // 결제 수단 파라미터
// 결제 정보 파라미터
amount: LGD_AMOUNT,
orderId: $("input[name=LGD_OID]").val(),
orderName: LGD_PRODUCTINFO,
customerName: MY_M_NAME,
customerEmail: m_email,
successUrl: callback_success,
failUrl: callback_fail,
windowTarget: 'self'
});
토스모듈을 호출합니다.
2. successUrl 페이지에서 /v1/payments/confirm를 호출합니다.
카드결제 시에는 정상적으로 /v1/payments/confirm가 1회만 작동되는데 간편결제(네이버페이 등등)일때만 /v1/payments/confirm가 두번 호출되는것 같습니다.
간편결제시에만 문제가 있는데 간편결제는 리다이렉트URL 형식을 사용할 때 successUrl이 두번 결과값을ㅇ 뱉어내나요?
답변 부탁드립니다.
감사합니다.