TIL- 6주차 목요일

mangjell·2022년 4월 21일
0

목차

  1. Iamport
  2. 결제 시간? new Date() 하는거 아니였어? >>> Advanced-Date-Issue
  3. setTimeout() 이거 사기당했네! >>> EventLoop / TaskQueue

1. Iamport 이론

  • 결제 종류에는 여러가지가 있다. 흔히 아는 카드결제, 계좌이체, 무통장입금, 정기결제(구독) 등 이있다.

  • 결제를 대행해주는 업체(PG사: Payment Gateway): NHN, 나이스페이, KG이니시스 등.

  • PG사와 계약을 하면 사용할 수 있는 pdf같은 파일(가이드)들을 받는다. 언어들은 대게 php, jsp, asp와 같은 코딩언어들로 이루어져있다. 이를 읽고, 자바스크립트와 같은 언어로 고쳐서 사용해야한다.

  • 복잡하다!! 그래서 우리가 대신해줄께!! 라는 회사가 나왔다!!

  • 결제 솔루션 회사: 아임포트, 부트페이 등

  • API를 만들어놓고 사용자로부터 요청받게끔 하는 시스템인데, PG사는 어떤 회사이고를 알려주면, 해당 API를 통해 최종결제는 카드사에서 가능하게끔 하게 되었다.
    (어마어마한 시간 단축!!)

  • 최종결제를 받게 되려면 카드사 심사가 들어간다.

  • 결제하기 버튼을 누르면 브라우저에서 결제 솔루션으로 보내지고, 해당 PG사를 거쳐서 최종결제는 카드사에서 되는 흐름이다.

승인이 안떨어지는 케이스: 도박성사이트, 경매, 직접입력

==================== 포트폴리오 ============================

포트폴리오용: imp49910675

IMP.init("imp49910675")
  1. 어디로 돌아갈 것인가? 돌아갈 주소
  2. mutation을 어떻게 날릴 것인가?

2. Advanced-Date-Issue

결제 시간??
-> new Date()는 프론트엔드에서 하지 않는다! >>> 프론트엔드에서 시간을 생성하는것은 위험하다

  • 시간컴퓨터가 필요하다 >>> NTP 서버
  • 나라별로 시간이 다른데, 그렇다면 시간을 어떻게 맞춰주어야하나??
  • 세계 표준시간으로 맞춰주어야한다. >>> UTC 시간 (보여주는 시간)
  • 브라우저에서 보여주는 시간은 해당 위치에 따라 +@ 시간해서 보여주는 것!

  • 그렇다면 lodash만큼 시간 관련 유명 라이브러리가 있다!!
    • moment.js

< 구분해야하는 것>

  1. 사용자가 버튼클릭 마우스 클릭 등으로 이벤트 발생

  2. 모두가 가만히 있는데, 특정 시간에 자동으로 이벤트 발생

    • 크론탭: 자동으로 설정된 시간에 api날려주는 프로그램

3. EventLoop / TaskQueue

profile
프론트엔드 개발자

0개의 댓글