banditXENIT
banditXENIT14mo ago

결제 에러시에도 successUrl 호출이 되는 경우가 있나요?

현재 php8.0 / javascript 에서 tosspayments 를 호출하여 이용중에 있습니다. 특이한 현상이 발견되어 질문 드립니다.. 자바스크립트에서 아래와 같이 호출합니다. 문제는 실패시에는 failUrl 이 호출되어야 하는데.. 아주 가끔 successUrl 이 호출되는 상황이 발생합니다. 혹시 해당 현상이 발생되는 경우가 있는지와 아래의 코드로 인해 해당 현상이 발생 가능한지에 대해 답변 부탁드립니다. tossPayments.requestPayment(method, { // 결제 수단 파라미터 // 결제 정보 파라미터 amount: amount, orderId: orderId, orderName: orderName, customerName: customerName, customerId: customerId, successUrl: successUrl, failUrl: failUrl, }) .catch(function (error) { if (error.code === 'USER_CANCEL') { // 결제 고객이 결제창을 닫았을 때 에러 처리 } else if(error.code === 'PAY_PROCESS_ABORTED') { // 결제 진행 중 승인에 실패 alert("결제 진행 중 승인에 실패하여 결제가 취소되었습니다."); } else if (error.code === 'INVALID_CARD_COMPANY') { // 유효하지 않은 카드 코드에 대한 에러 처리 alert("결제 승인이 거절되었습니다."); } else if(error.code === 'DUPLICATED_ORDER_ID') { // 이미 승인 및 취소가 진행된 주문번호일 경우 alert("이미 승인 및 취소가 진행된 주문입니다."); } else if(error.code === 'FORBIDDEN_REQUEST') { alert("허용되지 않은 요청입니다."); } else if(error.code === 'INVALID_BANK') { alert("유효하지 않은 은행입니다."); } else if (error.code === 'INVALID_CARD_COMPANY') { alert("유효하지 않은 카드사입니다."); } else if(error.code === 'INVALID_EASY_PAY') { alert("간편결제 정보가 올바르지 않습니다."); } else if(error.code === 'PAY_PROCESS_CANCELED') { alert("결제가 사용자에 의해 취소되었습니다."); }else{ alert("결제 승인 거절. 한도부족/통장잔액부족/유효기간만료 등을 확인하시고 그외의 문제는 카드사 문의가 필요합니다."); } })
6 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
banditXENIT
banditXENITOP14mo ago
주문번호 : 5b297255-4f04-e866-2ce1-20b4a29aab19
이실장
이실장14mo ago
인증이 성공하면 successUrl이 호출됩니다. 이후 successurl에서 승인 요청을 해야 결제가 완료됩니다.
Kimoon Lee
Kimoon Lee14mo ago
지금 에러는 successURL 에서 승인 API 를 호출하신 결과로 오류를 받으신거에요.
banditXENIT
banditXENITOP14mo ago
아.. 넵 알겠습니다. $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => "https://api.tosspayments.com/v1/payments/confirm", CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 30, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $post_field, CURLOPT_HTTPHEADER => [ "Authorization: Basic ".$auth_key, "Content-Type: application/json" ], ]); $response = curl_exec($curl); $err = curl_error($curl); successUrl 에서 승인요청하는 부분입니다. 이때 $err 부분에 에러가 들어온 것이 정상 파싱이 않되어 그대로 진행되었다고 봐도 무방할까요? 해당 curl 리턴에 대한 값을 찾아보려면 어디에서 볼 수 있을까요? 아.. 찾았습니다. 감사합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?