쉽차장
쉽차장2mo ago

결제위젯 브랜드 페이 문의

결제위젯을 사용해서 브랜드페이를 적용하고 있습니다. 카드 등록과정을 마치면 customerToken이 없습니다. 라는 에러가 뜨는데 카드 등록 전에 customerKey를 등록하는 과정이 필요한건가요??
32 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
이실장
이실장2mo ago
개발자센터에서 리다이렉트URL 등록 및 token 발급 로직은 추가하셨나요?
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
쉽차장
쉽차장2mo ago
리다이렉트url 연결과정에서 문제가 있었던거 같습니다. 기존에 테스트하던 customerkey를 사용하면 결제위젯의 카드 등록 레이아웃이 아예 안나오는데 이건 어떻게 해결해야할까요??
이실장
이실장2mo ago
어떻게 안나오시나요?
쉽차장
쉽차장2mo ago
콘솔에 TossPaymentsError: customer token이 없습니다. 메시지가 뜨면서 약관동의 체크박스와 결제하기 버튼만 보입니다 해당 customerkey를 사용할때 약관동의api를 수행하지 않고 바로 카드 등록을 실행해서 오류가 생기는것같은데 해당 customerkey로 약관동의 실행하면 되는건가요??
Kimoon Lee
Kimoon Lee2mo ago
TossPaymentsError: customer token이 없습니다 에러는 redirectURL 에서 accessToken 요청을 안하셨거나 실패했을때 발생합니다. 설정하신 redirectURL 에서 저희 서버쪽으로 토큰 요청을 하셨고, 결과를 정상적으로 받았는지 확인부탁드립니다.
쉽차장
쉽차장2mo ago
redirectURL에서 토스쪽으로 토큰요청을 할때 500 INTERNAL SERVER ERROR 로 결과가 null 값으로 나온다고 합니다
Kimoon Lee
Kimoon Lee2mo ago
거기서 에러가 안나오도록 처리해주시기 바랍니다. 요청하셨던 customerkey 알려주시면 에러원인 확인해 드릴께요.
쉽차장
쉽차장2mo ago
341fa85a-939a-4627-b1d2-a7499e116278 7eba94c9-ff77-478c-b3a9-3f27deafb90b 두개 다 확인 부탁드립니다
Kimoon Lee
Kimoon Lee2mo ago
요청자체가 안들어온것 같습니다.
Kimoon Lee
Kimoon Lee2mo ago
브랜드페이 API | 토스페이먼츠 개발자센터
브랜드페이에서 제공하는 API 엔드포인트(Endpoint)와 객체 정보, 파라미터, 요청 및 응답 예제를 살펴보세요.
Kimoon Lee
Kimoon Lee2mo ago
이걸호출하신게 맞으실까요?
쉽차장
쉽차장2mo ago
네 해당 api호출해서 accesstoken발급하도록 해놨는데 서버에서 500에러로 응답이 나온다고 하네요.
유부장
유부장2mo ago
어떤 상황에서 이 API 를 호출하도록 구현해 놓았고, 어떻게 호출하는지 curl 도 이곳에 공유 해주세요. 예를 들어서 get 으로 redirectUrl 로 접근이 있으면, query string param 을 추출해서 API 를 호출하고 있고 API 호출은 어떤 키로 어떻게 어떤 body 로 호출하고 있고 이런걸 다 설명 해주세요.
쉽차장
쉽차장2mo ago
get으로 redirectURl로 접근이 있으면, Query string param을 추출해서, POST 메서드로 https://api.tosspayments.com/v1/brandpay/authorizations/access-token 을 호출하고 있고, BODY는 {“customerKey”:”랜덤한 유저 키값”,grantType":"AuthorizationCode","code":"KGPx4M3MAR6lE7pDpq3BaWyp","refreshToken":null} 이런 형태로 호출하고 있고, header는 API 개별 연동키의 시크릿 키를 통해서 BASIC 인증 방식을 활용해서 호출하고 있습니다. 서버에서 로컬으로 브랜드 페이를 실행하는건 작동이 되는데, 배포한 홈페이지에서 브랜드페이를 실행했을때 에러가 발생합니다.
유부장
유부장2mo ago
네 좋습니다 그럼 이제 다음 확인할 부분은 로컬하고 배포한 서버에서의 차이 입니다. 서버에서 대외 통신시에 방화벽 관리를 하고 있나요? 허용된 요청만 가능하도록 되어 있는지 등이요.
쉽차장
쉽차장2mo ago
넵 방화벽 관리 하고있습니다 인바운드,아웃바운드 둘다 https는 모든 ip허용되어있습니다
유부장
유부장2mo ago
외부 통신시 방화벽으로 관리 하고 있었다면, 아래 IP 를 허용 처리 해주세요. 103.182.250.2, 103.182.251.2
쉽차장
쉽차장2mo ago
서브넷마스크는 32를 쓰면 될까요?
Ayaan
Ayaan2mo ago
네 맞습니다
쉽차장
쉽차장2mo ago
저희가 백엔드 서버의 아웃바운드에 해당 IP허용설정을 했는데도 아직 동일한 에러가 발생하네요.. 인바운드 아웃바운드 모두 허용해줘야하는걸까요? 저희가 결제위젯을 불러오는 도메인과 토큰발급api를 수행하는 백엔드의 도메인이 다른데 이것때문에 문제가 생길수도 있나요??
Ayaan
Ayaan2mo ago
CORS처리가 되어있으신가요?
쉽차장
쉽차장2mo ago
넵 처음에 redirectURL로 넘어갈때 CORS에러가 떠서 redirectURL 서버에서 웹페이지 url에 대한 CORS 설정해서 지금은 CORS에러는 안뜹니다. 토스쪽 url 도 CORS처리를 해줘야하나요?
Kimoon Lee
Kimoon Lee2mo ago
결제위젯을 불러오는 도메인과 토큰발급api를 수행하는 백엔드의 도메인이 다른데
라고 하셨는데 이러면 브라우저에서 막히게 됩니다. 가능하면 도메인을 맞춰주셔야 하고 그게 아니면 저희 해당 URL 을 호출할수 있도록 CORS 헤더 작업을 해주셔야 합니다.
쉽차장
쉽차장2mo ago
서브도메인까지 완벽하게 맞춰야할까요??
Kimoon Lee
Kimoon Lee2mo ago
네 CORS 에 걸리지 않도록 프로토콜 도메인 포트까지 일치해야 합니다.
쉽차장
쉽차장2mo ago
넵 감사합니다 동일한 도메인에서 실행되도록 수정하겠습니다., 동일 서버에서 백엔드와 웹페이지를 구현했는데 redirectUrl의 응답값이 모두 null으로 응답하여 Failed to construct 'Headers': String contains non ISO-8859-1 code point. 에러가 뜹니다
이실장
이실장2mo ago
ㅅㅏ용한 customerKEy알려주세요
쉽차장
쉽차장2mo ago
b2fbea67-1fd6-49ea-9972-e87f88739050 입니다
이실장
이실장2mo ago
리다이렉트 URL에서 토큰발급 API 호출할 때 헤더를 확인하세요 ${PAYMENT_SECRET}: 이걸 그대로 인코딩해서 보내고 있습니다.
쉽차장
쉽차장2mo ago
아 넵 감사합니다