next.js 에서 https://api.tosspayments.com/v1/brandpay/authorizations/customer-token 무한호출
안녕하세요 문제는 제목과 같구요.
저희 시스템 구성은 다음과 같습니다.
1. next.js
주소 : localhost:3000
2. node.js 로 돌아가는 백엔드
주소: localhost:8081
1 에서 결제위젯 호출을 하고 브랜드페이 연동을 하는 과정입니다.
브랜드페이 redirect url 은 1의 주소인 localhost:3000/cart/payment/brandpay-callback-auth 로 설정되어 있으며
여기서 getServerSideProps 를 사용하여 1 의 서버사이드에서 2로 access token 발급 요청을 하고 있습니다.
위 요청에 대한 응답은 따로 주고 있지 않습니다. 정확히는 2 에서 true 를 내려주지만 1에서 별다른 처리를 하지 않습니다.
2에서 확인해보니 access token 은 발급이 잘 되었으나
1에서 이를 인지하지 못하고
계속해서 https://api.tosspayments.com/v1/brandpay/authorizations/customer-token 를 호출하고 그 response 는 다음과 같습니다.
{"status":"PENDING","customerToken":null,"expiresIn":null}
요청량이 초과될 때 까지 계속 요청을 보내고 멈춥니다.
도움 부탁드립니다.
12 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
연동하실 때 참고한 문서 공유줘보시겠어요
결제위젯 통해서 브랜드페이 연동하시나요
브랜드페이 연동하기 | 토스페이먼츠 개발자센터
일반 결제와 내 상점만의 자체 간편결제 시스템 브랜드페이를 한 번에 연동하고 싶다면 결제위젯에 브랜드페이를 추가하세요.
네 맞습니다.
시크릿키 어떤거쓰셧어요?
💡 정보 제출
아래 버튼을 눌러 외부로 노출되기 민감한 정보를 제출해주세요
방금 수정하면서 발견한 것인데요.
위 코드에서 주석 처리 한 부분을 주석 해제하면 해당 문제가 발생합니다.
즉 refreshToken 을 사용하여 access token 을 발급받는 과정을 추가하면 발생하는 문제네요.
위는 2의 백엔드 코드입니다
시크릿키는 결제위젯 시크릿키가 아닌 자동결제・API 연동 키를 사용하였습니다
정보 제출이 안되네요
그럼 주석 해제 안하시면 정상 동작하는거죠?
해결되신건가요?
네 맞습니다. 그런데 그러면 refresh token 을 사용해서 access token 발급을 안하고 계속해서 AuthorizationCode 형식으로만 access token 을 발급받는 것인데 문제가 없을지요?
네 전혀 문제없습니다.
아 그렇군요! 네 감사합니다
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.