Henu
Henu2y ago

브랜드페이(Javascript SDK) 연동 시 Access Token 발급 API 및 기타 문의

안녕하세요. PHP 7.0.33 버전으로 개발된 가맹점 자체 솔루션 환경에서 브랜드페이 연동 중 Access 토큰 API 및 기타 문의드립니다. (현재 토스페이먼츠 GitHub - brandpay-sample repository - php 샘플코드를 바탕으로 연둥 진행 중입니다.) 연동 절차는 결제창 호출 > Access 토큰 발급 > 카드 등록(이미 되어 있다면 Pass) > 결제(및 승인)으로 이해를 했으며 아래와 같이 각 항목 별로 기재해 놓겠습니다. [문의사항] 1. 결제창 호출 후 Access 토큰 발급 과정에서 Javascript BrandPay 객체 초기화 단계에서 등록한 Redirect URL을 통해 토큰이 발급되는 것을 확인할 수 있었는데요. Access 토큰 발급 API 호출 시 요청 데이터 중 grantType의 값을 AuthorizationCode로 설정하여 매번 호출해도 상관없는지 문의드립니다. 가이드를 확인해 보면 신규 고객인지 기존 고객인지 판별하여 기존에 발급된 토큰의 유효기간을 SDK상에서 자동으로 연장시키는 것으로 이해를 했기 때문입니다.(가맹점상 회원정보에 발급된 토큰값과 토큰 유효기간을 굳이 저장시키지 않아도 될 것 같아 문의드립니다.) --> 첨부 이미지 - 1 참고 2. 1번 항목 연장선으로 grantType의 값을 RefreshToken으로 설정하는 경우는 기존 고객의 토큰을 새로 발급 받기 위함인 것 같은데요. 이 기능을 사용하기 위해서는 기존에 발급된 토큰의 유효기간이 만료가 되었는지를 확인하는 Logic이 가맹점 자체 소스코드에 포함되어 있어야하는 것인가요? 그렇다면 결국 가맹점상 회원정보에 토큰 정보를 가지고 있어야 하는 것인지 문의드립니다. --> 첨부 이미지 - 2 ~ 4 참고(새로운 토큰을 발급받는 소스코드를 짜보았는데, 에러가 반환이 되는 것도 확인 부탁드리겠습니다.) 3. 결제창에서 기존에 등록된 카드를 제거하는 방법에 대해 문의드립니다. --> 첨부 이미지 - 5 참고 4. 타 서비스와 같이 결제창을 Modal(?) 방식이 아닌, 특정 HTML 태그안에 Rendering 시키는 방법에 대해 문의드립니다.(결제 위젯처럼...) --> 첨부 이미지 - 6 참고 5. 결제창 호출 후 결제 승인/실패 처리는 결제 위젯 결제 승인/실패 처리에 사용하는 Success URL/Fail URL 소스코드를 동일하게 사용해도 되는지 문의드립니다.(응답 데이터의 형식이 비슷한 것 같더라구요.) --> 이것은 가이드를 다시 한번 확인해보니, 결제 승인 API URL이 다른 것을 확인하였습니다. 다른 코드를 사용해야겠네요. 6. Javascript SDK 방식의 연동에서는 Axios 라이브러리가 필수인지 문의드립니다. jQuery로 대체하여 결제창을 호출하는 방법도 있을까요? 7. 보안적인 부분으로 고객의 토큰 정보는 SDK에서 관리하는 것으로 확인이 되었는데요. 고객이 결제창을 통해 등록한 카드 정보도 SDK에서 관리되는 것인가요? 그렇다면 위 정보들은 도메인과 발급 토큰을 확인하여 결제창 호출 시 미리 등록되어 있는 카드를 보여주는게 맞는지 문의드립니다. 이상으로 내용 확인 부탁드립니다. 답변 미리 감사드립니다.
No description
No description
No description
No description
No description
No description
11 Replies
토스페이먼츠 BOT
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) : - 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요. * 주말/공휴일에는 답변이 늦을 수 있어요.
Kimoon Lee
Kimoon Lee2y ago
1. 관계없습니다. 보통 AuthorizationCode로만 설정해서 사용하시는 가맹점이 많습니다. 2. 네 refreshtoken을 사용하려면 해당 토큰과 유효기간을 DB 에 저장하셔야 합니다. 3. 결제창에서 기존카드를 제거한다는게 카드를 삭제하신다는 걸까요? 그렇다면 brandpay.openSetting() 을 호출하시면 카드 관리하는 페이지를 여실수 있습니다. 4. 브랜드 페이 위젯을 사용하시면 됩니다.
Kimoon Lee
Kimoon Lee2y ago
5. 네 파라미터가 다릅니다. 6. JS SDK에서 서버 통신은 어떤걸 써도 무방합니다. 7. SDK 가 저장을 하는 것은 아니고 필요할때마다 서버통신으로 받아옵니다. 결제창 호출시에 해당 사용자가 등록한 카드 리스트를 표시하고 있습니다.
Henu
HenuOP2y ago
1, 2번 항목과 관련해서 크게 문제가 안된다면 저희 가맹점상에서도 AuthorizationCode로만 요청하여 사용해보겠습니다. 감사합니다. 네, 맞습니다. 말씀해주신 brandpay.openSetting()을 호출하기 위해서는 결제창 호출 후 위 이벤트를 동작시킬 버튼을 저희쪽에서 만들어야 하는 것인가요? 아, 그렇군요. 아직 브랜드페이 계약이 되지 않아 확인하지 못헀네요. 추후 계약이 완료되면 확인해보겠습니다.
Kimoon Lee
Kimoon Lee2y ago
네 맞습니다. "설정" 버튼을 하나 만들어 주시면 될것 같습니다.
Henu
HenuOP2y ago
브랜드페이를 처음 도입하기 전 가맹점상 DB에서도 고객이 등록한 카드 정보를 가지고 있어야하나? 라는 의문점을 가지고 있었는데, 굳이 그럴 필요는 없겠네요. 감사합니다.
Kimoon Lee
Kimoon Lee2y ago
가맹점의 성향에 따라 다른데 저장 안하시는 곳도 있고, 저장하시는 곳도 있습니다.
Henu
HenuOP2y ago
그렇군요. 이 부분은 이점이 무엇이 있는지 생각해서 진행해봐야겠네요. 등록한 모든 문의 내용에 대한 답변이 도움이 될 것 같습니다. 남은 작업 마저 해보겠습니다. 감사합니다!
Kimoon Lee
Kimoon Lee2y ago
네 감사합니다.
토스페이먼츠 BOT
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.

Did you find this page helpful?