smooth
smooth12mo ago

'결제하기' 혹은 'Registration' 클릭시 콘솔 로그에 결제수단이 아직 선택되지 않았다는 오류가 나옵니다.

토스페이먼츠 결제 창 확인 결제 방법 - 신용·체크카드 선택 '결제하기' 혹은 'Registration' 클릭시 콘솔 로그에 결제수단이 아직 선택되지 않았다는 오류가 나옵니다. 해당 오류는 어떻게 해결해야 하나요? 참고로 아래 코드(예시)처럼 호출하였습니다. paymentWidget.requestPayment({ orderId: '1', orderName: '등록비', successUrl: 'https://www.aogin2024.com/paymentSuccess', failUrl: 'https://www.aogin2024.com/paymentFail', customerEmail: 'test@test.com', customerName: '홍길동', customerMobilePhone: '010-1111-2222', // 결제 수단을 '카드'로 설정 paymentMethod: 'CARD', // 다국어 결제창 설정 OFF useInternationalCardOnly: false }); 운영중인 사이트에서 확인이 필요하시다면 테스트 계정정보 남겨드리겠습니다.
No description
12 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee12mo ago
제현해 보도록 사이트및 계정 공유 부탁드립니다.
토스페이먼츠 BOT
💡 정보 제출
민감 정보를 안전하게 제출해주세요
smooth
smoothOP12mo ago
토스페이먼츠 BOT이 제안한 '정보 제출'을 통하여 사이트 및 계정 정보 공유드렸습니다.
Kimoon Lee
Kimoon Lee12mo ago
widget render 는 어떻게 하고 계신가요? 증상을 보면 render 한 widget 과 requestpayment를 실행하는 widget 이 instance 가 다른것 처럼 보입니다. 브라우저에서 보이는 코드를 보면 document on 이벤트에서 paymentWidget 을 생성 하시는데, 여기에 render 코드가 없습니다.
smooth
smoothOP12mo ago
버튼 클릭시 이렇게 호출하고 있습니다. // TOSS Setting START const amount = "<%=amount%>"; const widgetClientKey = "<%=widgetClientKey %>"; const customerKey = generateRandomString(); const variantKey = "<%=variantKey%>"; const orderName = "<%=orderName%>"; const successUrl = "<%=successUrl%>"; const failUrl = "<%=failUrl%>"; const customerEmail = "<%=customerEmail%>"; const customerName = "<%=customerName%>"; const customerMobilePhone = "<%=customerMobilePhone%>"; const paymentWidget = PaymentWidget(widgetClientKey, customerKey); // 회원 결제 // const paymentWidget = PaymentWidget(widgetClientKey, PaymentWidget.ANONYMOUS); // 비회원 결제 // ------ 결제 UI 렌더링 ------ paymentMethodWidget = paymentWidget.renderPaymentMethods( "#payment-method", { value: amount }, // 렌더링하고 싶은 결제 UI의 variantKey // 결제 수단 및 스타일이 다른 멀티 UI를 직접 만들고 싶다면 계약이 필요해요. // @docs https://docs.tosspayments.com/guides/payment-widget/admin#멀티-결제-ui { variantKey: variantKey } ); // ------ 이용약관 UI 렌더링 ------ paymentWidget.renderAgreement("#agreement", { variantKey: variantKey }); /* // ------ 결제 금액 업데이트 ------ coupon.addEventListener("change", function () { if(coupon.checked) { paymentMethodWidget.updateAmount(amount - 5000); } else { paymentMethodWidget.updateAmount(amount); } }); */ // ------ '결제하기' 버튼 누르면 결제창 띄우기 ------ paymentWidget.requestPayment({ orderId: customerKey, orderName: orderName, successUrl: successUrl, failUrl: failUrl, customerEmail: customerEmail, customerName: customerName, customerMobilePhone: customerMobilePhone });
결제위젯 어드민 사용하기 | 토스페이먼츠 개발자센터
토스페이먼츠와 계약을 완료했으면 어드민에서 결제 UI를 커스터마이징할 수 있어요.
Kimoon Lee
Kimoon Lee12mo ago
브라우저 상으로 보이는 코드는 이렇게 되어 있습니다.
Kimoon Lee
Kimoon Lee12mo ago
No description
Kimoon Lee
Kimoon Lee12mo ago
혹시 지금 제가 보는 코드와 다른건가요?
smooth
smoothOP12mo ago
비슷한것 같은데 메뉴얼에 있던 아래 부분 코드가 없습니다. // ------ 결제 UI 렌더링 ------ // ------ 이용약관 UI 렌더링 ------ // ------ 결제 금액 업데이트 ------ 말씀해주신대로 render 한 widget 과 requestpayment를 실행하는 widget 의 코드가 분리되어 그런것 같습니다. 한번 확인해보겠습니다!
Kimoon Lee
Kimoon Lee12mo ago
네 동일 instance 에서 requestpayment 를 호출해 주셔야 합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?