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
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
동영상 한번 제공해주시겠어요
네 잠시만요
ㅇㅔ러 메세지가 저희 sdk에서 내려가는게 맞을까요?
네 payment-method부분이네요
지금 결제 완료후 successurl을 띄워놓으신 modal 내부 iframe으로 받고 계신건가요?
아뇨
주문번호 사용하신거 전달해주시겠어요?
orderId입니ㅏㄷ
2401021620335600886 입니다.
아 잠시만요 다시
2401021622535182390 입니다.
우선 promise로 처리 중이신대, 위에 화면은 PC Only인가요? 모바일에서는 제공하지 않으시나요?
네 pc전용입니다.
결제는 정상적으로 되었고, 스크립트 에러만 뜨는 것 같은데요
우선 구현하신 방식이 저희가 권장하는 방법은 아닙니다.
promise로 받아오면서 기존 위젯이 render된 쪽에서 응답이 끊어지면서 발생하는 것 같네요
어떤부분이 권장하지않는방법인가여?
아그렇군요
promise로 받아와서 onepage에서 처리하는 방식입니다.
위젯이 render되었다가 사라지고 하면서 발생하는 것으로 추측되어요
네 onepage로 처리하고있어서 그런것같습니다.
그런데 modal방식으로 하실거면 결제위젯을 꼭 안쓰셔도 되지 않으신가요~?
그럼 api 방식으로 하면될가여?
위 방법도 있으니 한번 비교해보시기 바랍니다.
네 감사합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
api 방식도 promise 가능하죠?
말씀하시는 api 방식이 어떤걸가요?
여기 말씀하시는거죠?
네네
단일페이지에서 구현하니 결제실패시 재결재하기가 까다로운것같아요.
ncaught SyntaxError: Identifier 'clientKey' has already been declared (at tosspayment.js:1:1)
이건 결제 실패시 script를 한번 더 출력해주셔서 그런것 같습니다