에러처리 방법문의
위젯으로 브랜드페이하고 일반결제 테스트를 하고 있는데
창을 열었다가 닫는 경우 스크립트 오류로 표기는 되는데
이 에러를 처리할 수 있나요??
14 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
Promise 실전에서 사용해보기 | 토스페이먼츠 개발자센터
토스페이먼츠 결제위젯 예제로 Promise가 무엇이고 어떻게 사용해야 되는지 알아볼게요.
위젯 main() 브랜드페이 등록하기 버튼 누르고 닫는 경우 발생하는 에러가 안잡혀서요.
API에서는 .catch 로 잡혔거든요.
혹시 await이 붙어있진 않나요?
await 이 함수앞에 붙어있으면 제거해보ㅓ세요
main();
async function main() {
const button = document.getElementById("payment-button");
const coupon = document.getElementById("coupon-box");
const clientKey = "test_gck_docs_Ovk5rk1EwkEbP0W43n07xlzm";
const tossPayments = TossPayments(clientKey);
const customerKey = "sGtgfs5MX0NwooZTdDaWK";
const widgets = tossPayments.widgets({
customerKey,
brandpay:{
redirectUrl: window.location.origin + "/auth"
}
});
await widgets.setAmount({
currency: "KRW",
value: 50000,
});
await Promise.all([
widgets.renderPaymentMethods({
selector: "#payment-method",
variantKey: "DEFAULT",
}),
widgets.renderAgreement({ selector: "#agreement", variantKey: "AGREEMENT" }),
])
button.addEventListener("click", async function () {
await widgets.requestPayment({
orderId: "zVbkmOpkqp7Lf6N1ASgAR", // 고유 주분번호
orderName: "토스 티셔츠 외 2건",
successUrl: window.location.origin + "/success", // 결제 요청이 성공하면 리다이렉트되는 URL
failUrl: window.location.origin + "/fail", // 결제 요청이 실패하면 리다이렉트되는 URL
customerEmail: "customer123@gmail.com",
customerName: "김토스",
customerMobilePhone: "01012341234",
});
});
}
await widgets.requestPayment({
await을 쓰시지 말고 widgets.requestPayment로 하시거나
아예 저 await widgets.requestPayment() 겉에 try catch를 걸어보시기 바랍니다.
결제 버튼 눌렀을때 오류는 잡히는데요...
브랜드페이 위젯에 카드추가나 버튼들을 누르고 닫는 경우 나오는 에러는 안잡히거든요
이분은 해결 되었습니다.
이부분 클릭하고 닫을경우요..
브랜드페이 버튼 누르고 닫는경우 어떤 에러를 말씀하시는 걸까요?
위젯을 사용하시는 경우 이 이벤트를 받으실수는 없습니다.
네 알겠습니다. 감사합니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.