version1 결제위젯에서 브랜드페이 methodId 가undefined
안녕하세요
getSelectedPaymentMethod() 로 로그를 찍고있는데
해당 사진처럼 methodId가 undefined가 나오는 이유가 궁금합니다!
문서에는 methodId 가 결제 타입이 BRANDPAY일 때 반환되는 값입니다. 현재 브랜드페이에서 선택되어 있는 결제수단의 ID입니다. 라고 나와있어서요..
paymentMethodsWidget.on("ready", 일때 callback 으로 콘솔을 찍고있습니다.
10 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
V2 를 사용하시는 거죠?
실제로 렌더링 된후에 브랜드페이 결제수단등이 로딩되는 구조라서 못가져올것 같은데요 렌더링 되자마자 브랜드페이 결제수단 정보가 왜 필요한지 설명좀 부탁드리겠습니다.
v1도 paymentMethodsWidget.on()일때 동일하게 methodId가 undefined로 표시됩니다.
내부 확인해본 결과 렌더후 바로 결제수단 정보(methodId)를 전달하지 않는 것이 맞습니다.
냥과장님 문의하신 것처럼 렌더링 되자마자 브랜드페이 결제수단 정보가 필요한 이유가 있으실까요?
구현하고자 하는 결제 모델이 구독형 모델로 카드 정보 등록 이후 곧바로 결제를 하는 프로세스가 아닙니다. 프론트에서 토스 결제 위젯의 카드 정보 등록을 한 이후 methodId를 저희 쪽 백엔드 api에서 별도로 저장해 놓고 결제일이 되었을 경우 별도의 토스 결제 api 호출을 통해 실제 결제를 하려고 합니다. 때문에 methodId가 필요한 상황입니다. 결제 위젯에서 선택한 카드의 methodId를 알 수 있는 방법이 있을까요?
그러면 별도로 카드 등록 버튼을 누르면
결제위젯 JavaScript SDK(Version 1) | 토스페이먼츠 개발자센터
결제위젯 JavaScript SDK를 추가하고 메서드를 사용하는 방법을 알아봅니다.
이걸 호출해서 가져오시면 될것 같습니다. 꼭 로딩되자마자 해당 값이 필요하신건 아닌것 같아서요.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
냥과장님이 말씀하신 것처럼 별도 카드 등록 버튼을 명시적으로 만들고 고객이 지정한 카드를 정기결제 카드로 등록하는 방식이 좋을 것 같습니다.
답변 감사드립니다. 정상적으로 methodId 받아왔습니다