좀스
좀스10mo ago

KnownError: Bridge 응답을 받지 못했습니다.

결제가완료되고 백엔드 정상적으로 처리된후 결제완료 페이지에서 KnownError: Bridge 응답을 받지 못했습니다. 스크립트에러가 나옵니다 . 어떤원인인지 원인파악이안됩니다. async function confirm() { const requestData = { paymentKey: $("#paymentKey").val(), orderId: $("#orderId").val(), amount: $("#amount").val(), }; const response = await fetch("/TossPay/confirm", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify(requestData), }); const json = await response.json(); if (!response.ok) { // 결제 실패 비즈니스 로직을 구현하세요. console.log(json); window.location.href = /TossPay/PayFail?message=${json.message}&code=${json.code}; } // 결제 성공 비즈니스 로직을 구현하세요. console.log(json); } confirm();
29 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장10mo ago
동영상 한번 제공해주시겠어요
좀스
좀스10mo ago
네 잠시만요
좀스
좀스10mo ago
이실장
이실장10mo ago
ㅇㅔ러 메세지가 저희 sdk에서 내려가는게 맞을까요?
좀스
좀스10mo ago
No description
좀스
좀스10mo ago
네 payment-method부분이네요
이실장
이실장10mo ago
지금 결제 완료후 successurl을 띄워놓으신 modal 내부 iframe으로 받고 계신건가요?
좀스
좀스10mo ago
아뇨
이실장
이실장10mo ago
주문번호 사용하신거 전달해주시겠어요? orderId입니ㅏㄷ
좀스
좀스10mo ago
2401021620335600886 입니다. 아 잠시만요 다시 2401021622535182390 입니다.
이실장
이실장10mo ago
우선 promise로 처리 중이신대, 위에 화면은 PC Only인가요? 모바일에서는 제공하지 않으시나요?
좀스
좀스10mo ago
네 pc전용입니다.
이실장
이실장10mo ago
결제는 정상적으로 되었고, 스크립트 에러만 뜨는 것 같은데요 우선 구현하신 방식이 저희가 권장하는 방법은 아닙니다. promise로 받아오면서 기존 위젯이 render된 쪽에서 응답이 끊어지면서 발생하는 것 같네요
좀스
좀스10mo ago
어떤부분이 권장하지않는방법인가여? 아그렇군요
이실장
이실장10mo ago
promise로 받아와서 onepage에서 처리하는 방식입니다. 위젯이 render되었다가 사라지고 하면서 발생하는 것으로 추측되어요
좀스
좀스10mo ago
네 onepage로 처리하고있어서 그런것같습니다.
이실장
이실장10mo ago
그런데 modal방식으로 하실거면 결제위젯을 꼭 안쓰셔도 되지 않으신가요~?
좀스
좀스10mo ago
그럼 api 방식으로 하면될가여?
이실장
이실장10mo ago
위 방법도 있으니 한번 비교해보시기 바랍니다.
좀스
좀스10mo ago
네 감사합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
좀스
좀스10mo ago
api 방식도 promise 가능하죠?
이실장
이실장10mo ago
말씀하시는 api 방식이 어떤걸가요?
이실장
이실장10mo ago
여기 말씀하시는거죠?
좀스
좀스10mo ago
네네 단일페이지에서 구현하니 결제실패시 재결재하기가 까다로운것같아요. ncaught SyntaxError: Identifier 'clientKey' has already been declared (at tosspayment.js:1:1)
이실장
이실장10mo ago
이건 결제 실패시 script를 한번 더 출력해주셔서 그런것 같습니다