결제 요청이랑 승인과정이 전부 외부 api랑 통신하는건데 원래 요청만 프론트에서 처리하고 승인은 백엔드에서 처리하자고 했는데
왜 그렇게하냐면서 프론트에서 다 처리하고 백엔드는 그냥 결제 완료된거 db에저장하기만하면된다는데
결제 api사용하는곳들보면 전부 프론트 샘플코드밖에없긴하던데
결제 요청이랑 승인과정이 전부 외부 api랑 통신하는건데 원래 요청만 프론트에서 처리하고 승인은 백엔드에서 처리하자고 했는데
왜 그렇게하냐면서 프론트에서 다 처리하고 백엔드는 그냥 결제 완료된거 db에저장하기만하면된다는데
결제 api사용하는곳들보면 전부 프론트 샘플코드밖에없긴하던데
프론트로 처리하면 안되지 않나?... 프론트로 위변조가 얼마나 쉬운데, 결제같은 중요한 부분을
위변조가 쉬운건 맞는데 그건 교차검증하면 되는 문제임..사용자가 뭐 없는 승인코드 만들어서 서비스 서버에 보내도 이후 실제 결제 과정에서 막히게 되어있음
프론트에서 외부 api 쓰면 api secret 아무나 볼 수 있으니까 백엔드에서 해야됨
그런데 왜 아임포트나 토스같은곳은 전부 프론트예시임? 거기서 그렇게 하니까 예시올려준거라임?
그러네 안써봐서 모름
여기 읽어보셈
https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md
외부 API 사양에 따라 처리하면 된다고 생각함 프론트로 제공하는 데는 그만한 자신감이 있나 보지. 노출되어도 보안에 크리티컬하지 않으니까 그렇게 제공하는 게 아닐까? 기본적으로는 백으로 처리하려고 하되 API 제공하는 데서 프론트 예시를 제공하면 프론트로 처리해야지 뭐