flutter 결제위젯 브랜드페이 문의
안녕하세요 현재
tosspayments_widget_sdk_flutter: ^2.0.8
을 사용하고 있습니다.
첨부한 이미지 처럼 브랜드페이 등록 ui가 있고 카드번호를
등록하게 되면 ui에 변화가 없고 페이지를 나갔다 들어오면
무한 로딩중입니다. redirectUrl 쪽에 문제가 있는걸까요?



42 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
네 rediect URL 이 설정되어 있는지. 주문서페이지와 동일 도메인에 있는지 그리고 redirectURL 에서 Accesstoken 발행요청을 하고 있는지 확인부탁드립니다.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
혹시 flutter 에서 관련 글을 찾아보다가 redirect url에 URL 스키마를 넣어라는말을 본거같은데
url스키마를 안넣어서 그런건 상관이 없을까요??/
브랜드페이의 redirectUrl 은 "access token 발급" API 호출 소스 구현이 되어 있는 페이지 입니다.
모바일 앱에서 플러터 토스 결제위젯을 보여주는데
혹시 동일 도메인이라는걸 어떤걸 의미할까요?
그럼 도메인 이슈는 없으실거구요. redirectURL 호출에 문제가 없는지, 그리고 토큰 발행은 하고 계신지 확인해주시면 됩니다.
넵넵 확인해보겠습니다 답변 감사드립니다!
안녕하세요 테스트를 한번 해봤는데
개발자센터의 브랜드페이에 redirect URL을 등록한 후 플러터 앱에서 결제 위젯에 같은 redirectUrl을 등록해 놓았는데 서버에서는 해당 API가 호출이 되지 않았다고 합니다.
앱에서는 결제연동 키의 클라이언트 키를 사용하고 있습니다.
clientKey 알려주시고
해당 요청의 customerKey 도 알려주세요
안녕하세요
client_key: test_gck_QbgMGZzorzyXkMYOnNyvVl5E1em4
customerKey: asdfasdf20250217006
혹시 customerKey를 따로 미리 등록 해두고 사용해야하는걸까요?
아니요, 그걸 떠나서
브랜드페이 설정 자체가 문제 이신것 같아서요
customerKey 다시 알려주시겠어요?
뭔가 중간에 값이 꼬인듯 보여요
asdfasdf20250217006
입니다

안드로이드 로 테스트 시 보이는 로그입니다.
I/chromium(26048): [INFO:CONSOLE(1)] "Uncaught (in promise) KnownError: customerToken이 존재하지 않습니다.", source: https://connect.tosspayments.com/connect/e5c5eefd08d85b04e33d86fed1910b7aa7e2f3b8/_next/static/chunks/pages/m/register/add-payment-method/card-7d94d8a88ef7a064.js (1)
I/chromium(26048): [INFO:CONSOLE(1)] "Uncaught (in promise) Request Error", source: https://js.tosspayments.com/v1/brandpay (1)
http://121.254.254.170:3800/API/brandpay/redirect 지금 이 URL 등록 해주신것 같은데,
여기에서 accessToken 호출 로직 구현하신것 맞으시죠?
여기 web accesslog 확인 가능하신가요?
저희는
http://121.254.254.170:3800/API/brandpay/redirect?code=Yq7GWPVv97WB7xbPWa3NE5vb&customerKey=asdfasdf20250217_006_
이렇게 web get 호출이력이 보여서요
백엔드에서 그럼 지금하고있는 형식의 api가 아니면 지금상태에서는 어떻게구현해야하나요?
예시가 필요합니다 현재는 docs에 나와있는대로 구현 한겁니다 플러터에서 사용할때백엔드는 어떻게 api를구현해야하는제 예시를 알려주세요
브랜드페이 연동하기 | 토스페이먼츠 개발자센터
결제위젯으로 편리하게 브랜드페이를 연동하세요. 브랜드페이는 자체 간편결제 시스템을 구축하는 결제 서비스예요.
이 내용인데, 이거 구현했는지를 여쭤보는겁니다
말씀주신 동일한 내용으로 개발을 진행해서 토큰을 발급받으려 백엔드를 구현했습니다
docs에선 토큰발급다음 바로 결재로 이어지는데 저는 지금 등록을 구현하려하는겁니다
등록때도 마찬가지로 저 토큰 호출이 있어야 해요..
jsSDK 호출이 있으면, 토큰발급이 있어야 합니다
그렇게 구현되어 있는거 맞지요?
그냥 get access 가 있으면 호출을 하는게 좋아요
api 로직 이전에 아예 redirectURL 에 등록한 api자체가 호출이 되지 않는거 같습니다
http://121.254.254.170:3800/API/brandpay/redirect? 여기로 요청 들어온게 확인되지 않으시나요?
넵넵 api 자체가 호출되지 않고 있습니다!
저희 쪽에서는 호출한 로그가 확인되는데요.그러면 웹뷰내에 JS 콘솔 오류가 있는지 확인부탁드립니다.
안드로이드 디바이스로 브랜드페이 테스트시 찍히는 로그입니다!
안드로이드 로 테스트 시 보이는 로그입니다.
I/chromium(26048): [INFO:CONSOLE(1)] "Uncaught (in promise) KnownError: customerToken이 존재하지 않습니다.", source: https://connect.tosspayments.com/connect/e5c5eefd08d85b04e33d86fed1910b7aa7e2f3b8/_next/static/chunks/pages/m/register/add-payment-method/card-7d94d8a88ef7a064.js (1)
I/chromium(26048): [INFO:CONSOLE(1)] "Uncaught (in promise) Request Error", source: https://js.tosspayments.com/v1/brandpay (1)
백단에서 말씀하시는걸까요?
넵넵 확인해보겠습니다 감사합니다!
백단에서 사용하는 키를 확인해본바
MID cp_dangpro 의 시크릿키를 사용하고있습니다.
test_sk 로 시작하는 키인가요?
넵 맞습니다.
다시한번 asdfasdf20250217006
로 접속해 보시겠어요?
_ 넣은 상태로 말씀이시죠??
위젯을 생성하는중
I/chromium(25850): [INFO:CONSOLE(1)] "Mixed Content: The page at 'https://121.254.254.170/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://121.254.254.170:3800/API/brandpay/redirect?code=60RZblrq5jjnjbRK2brwzYWB&customerKey=asdfasdf20250217_006_'. This request has been blocked; the content must be served over HTTPS.", source: https://js.tosspayments.com/v1/brandpay (1)
I/chromium(25850): [INFO:CONSOLE(1)] "Uncaught (in promise) Error: Request Error", source: https://js.tosspayments.com/v1/brandpay (1)
웹뷰쪽 에러가 발생했습니다.
이부분 원래 에러 없으셨던것 아닌가요?
플러터라서 주문서 페이지 웹사이트에서 제공안하신다고 알고 있는데요
일단 해당 에러는 주문서페이에 도메인과 redirectURL 도메인이 달라서 발생하는 에러입니다.
뒤에 port 번호까지 일치 시켜 주셔야 합니다.
넵넵 flutter sdk로 결제위젯을 사용하고 있어서
브랜드페이 추가 버튼을 누를때 올라오는 웹뷰말고 는 웹뷰에서는 진행하고 있지 않습니다.
웹뷰가 저희가 웹뷰를 구현한게 아니라 토스 플러터 패키지 내부에서 불러오는 웹뷰로 보입니다
기존에는 안나던 에러이신거죠?
이전에 제가 올렸던 에러로그는
새로운 customerKey로 결제위젯을 생성해 카드를 추가하는 과정에서 추가 완료 버튼을 눌렀을때 발생하는 로그였고


방금 제가 올린 에러로그는
카드 추가를 했지만 에러로그가 뜨고 반응이 없어 앱 화면에서 뒤로갔다가 다시 해당화면으로와 결제 위젯을 그리다가 생성되는 에러로그입니다!
아.. 에러가 http 로 redirectURL 을 사용해서 나온것 같습니다.
이거 https 로 변경가능하신가요?
그럼 저희가 도메인이 나오고 다시 한번 테스트 해보겠습니다.
친절한 답변 감사드립니다!