결제 검증을 어느 시점에 어떤 방식으로 하는지 잘 모르겠어요
안녕하세요 간편하게 결제 시스템 적용할 수 있게 만들어주셔서 감사드립니다.
현재 제가 이해한 바로는 토스 결제가 크게 요청과 승인 과정으로 이루어지고 요청에서 승인으로 넘어가기 전에 백엔드 단에서 검증이 필요하다고 이해했습니다.
요청에 성공했을 때 백엔드에서 success url로 결제 정보를 받아서 이 데이터와 백엔드에 저장된 값과 비교하면서 검증을 하면 된다고 생각했습니다.
근데 가이드를 보면 요청에 넘어가기 전 서버에 데이터를 저장하고 요청성공 시 들어온 데이터와 요청 전 백엔드에 저장된 데이터를 비교한다고 적혀있는데 이 부분이 잘 이해가 되지 않습니다.
1. 요청에 넘어가기 전 서버에 저장하게 되는 데이터 자체도 쉽게 변조될 수 있지 않나요? 그럼 굳이 success에 넘어오는 데이터와 요청 전 서버에 저장하는 데이터를 비교할 필요가 없지 않나요?
2. 요청에 넘어가기 전 서버에 저장을 해야한다면 결제 요청은 프론트가 아니라 백엔드에서 요청 정보를 저장하고, 결제요청을 백엔드에서 호출해야하지 않나요? (샘플 코드를 보면 프론트에서 바로 결제 요청을 해서요..)
3. 현재 제가 생각하는 구현 방식은 프론트에서 결제 요청을하고 인증 성공 시 백엔드에서 /sucees 로 들어온 데이터를 받고, 이 데이터와 백엔드에서 갖고 있는 데이터와 검증 후 문제가 없으면 승인을 요청하는 식으로 구현했는데 제가 프로세스를 제대로 이해했는지 궁금합니다.
개발자 센터에 자세히 설명해주셨는데 죄송합니다 항상 감사합니다 토스 파팅
============================
요청에 성공했을 때 들어오는 데이터가 일정한 형식으로 정해져 있네요 죄송합니다. 그럼 요청 전에 서버에 데이터를 저장하게 하고 요청을하게 하는 로직은 구체적으로 어떻게 이루어지나요?
프론트에서 백엔드에게 데이터를 저장하게하는 요청을하고 이 요청이 처리되면 결제요청이 이루어지도록 프론트 코드를 구현하면 될까요?
5 Replies
⏳ 잠시만 기다려주세요! 곧 답변드리겠습니다
오류 문의일 경우 아래 정보를 미리 전달해주시면, 빠른 답변에 도움이 됩니다.
- 주문번호(orderId) :
- 문의 내용 :
(img를 함께 첨부해주시면 도움이됩니다)
* 계약관련 내용은 1544-7772로 문의주세요.
* 주말/공휴일에는 답변이 늦을 수 있어요.
결제 요청, 인증, 승인… 이게 다 뭔가요?
결제 과정 콘텐츠 일러스트
결제 연동할 때, 이런 의문 가져보신 적 없으세요? 결제 요청과 승인은 어떻게 다르고, 왜 따로 처리해줘야 하는 걸까요?
여기 참고해주세요~
❤️ 기술문의 경험이 어떠셨나요?!
간단히 코멘트 남겨주세요! 제품 발전에 큰 힘이 됩니다.
구체적인 답변 넘넘 감사드립니다 참고해서 개발해보겠습니다!! 다시 한 번 감사드려요~~
감사합니다!! 결제과정을 이해하는데 도움이 되었습니다!!