유효성 검증 방법 및 시점 문의
안녕하세요 결제위젯을 연동하고 있습니다.
유효성 검증을위해 orderId와 결제금액을 결제전 insert하고 결제 후 update 해야한다고 알고있는데 이게 시점이 언제가 되어야 하는지 궁금합니다.
그리고 서버에 저장하는 방법(유효성 검증 방법)은 db저장이 best인지, 다른 방법도 있는지 궁금합니다.
현재 결제하기 버튼을 누르면 url 이동하여 결제팝업이 뜨고 결제하기 버튼 클릭 시 successUrl 또는 failUrl로 이동되고있으며, FE는 VUE.JS, BE는 SPRING BOOT 사용중입니다.
8 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
결제 전 insert 한다 = 결제 요청을 말씀 하시는 것 같은데요. 결제 요청할때 파라미터로 보내면 됩니다.
결제 후 update = 이런건 없습니다. 인증 (카드사 앱을 열고 액션하는 일련의 과정) 을 완료하고, 서버에서 승인 API 를 호출할텐데, 그때 주문번호, 금액등을 승인 API 로 담아서 보냅니다.
문서에 자세하게 설명 되어 있으니, 문서를 참조 하세요.
관련 데이터를 처리하는 방법은 정답이 없습니다. 운영 상황에 맞게 잘 고려하여 구현 하시기 바랍니다.
연동하기 | 토스페이먼츠 개발자센터
토스페이먼츠의 간편한 결제 연동 과정을 한눈에 볼 수 있습니다. 각 단계별 설명과 함께 달라지는 UI와 코드를 확인해보세요.
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
혹시 결제 요청 전 금액을 url이나 세션정보에 남길 경우 보안에 취약하다거나 위변조 위험성이 있을까요?
클라이언트에서 결제금액이 보여도 괜찮을지 여쭤봅니다.
어차피 저희 결제창을 여실때 FE 에서 결제금액이 보이기 때문에 가능하면 가맹점 서버쪽에서 결제금액을 보관하고 계시다가 유효성 체크를 해주시는게 안전합니다.
바쁘실텐데 한 가지만 더 여쭙겠습니다.
결제 api 레퍼런스에 orderId로 결제조회, paymentKey로 결제조회 두가지 방법이 있는데 결제정보를 저장하는 메인테이블에 두가지 데이터 모두를 저장하되 pk값을 둘 중 어떤 것으로 해야할지는 저희가 설계하기 나름일까요?
둘의 관계가 어떻게 되는지 이해가 잘 되지 않습니다.(결제를 식별, 주문을 식별인가요?)
paymentKey는 결제를 식별하고 orderId는 주문한 결제를 식별한다라고 설명되어있는데,
orderId 또는 paymentKey 둘 중 하나만 key값으로 설정해도 결제 및 주문 정보를 구분하는데 차질이 없는지 궁금합니다.
네 가맹점입장에서는 둘중하나를 쓰셔도 무방한데 paymentKey가 더 unique 하기 때문에 이걸 이용하시는걸 권장드립니다.