코드캠프 FE 28일차 - TIL(결제-Iamport,Advanced-Date-Issue,EventLoop/TaskQueue)

space's pace·2022년 6월 16일
0

📔 학습목표

  1. 결제 API >> Iamport
  2. 결제 시간? >> Advanced-Date-Issue
  3. setTimeout() >> EventLoop/TaskQueue

Iamport

pg사(payment gateway)
NHN
Nicepay
KG이니시스
.
.
.
결제시스템을 제공해주는 회사 - 결제솔루션(아임포트, 부트페이)

아임포트 - 결제 아이디를 줌
아임포트-> (중복되지 않는 키) -> 결제 금액을 백엔드 db를 통해..
결제 후 구매하러 감

다날 본인인증

휴대폰 본인인증

다날이랑 계약

웹훅


무통장입금 결과
url 넣는칸 - 우리백엔드 api -> 결제됐을 때, 가상계좌 발급되었을 때, 가상계좌에 결제금액이 입금 됐을 때

결제 실습

이거를 적용할 예정!

아임포트 uid를 우리 백엔드 서버로 넘겨주고 , 백엔드 서버에서 db서버로

아임포트 내에서는 제이쿼리를 사용하기 때문에
스크립트 태그로 설치해준다
스크립트 태그를 리턴 안에 넣어주려면 넥스트한테 헤드태그를 넣어주겠다고 선언해야함

윈도우가 생략되어있다.
const 뻬고 qqq="철수"
하면 qqq앞에 윈도우가 생략된거~

다른페이지에는 아이엠피가 없다
근데 결제페이지에 들어오면 아이엠피가 있는데
그건 윈도우 안에 있다는 뜻
결제페이지 안 콘솔창에 IMP를 검색하면 나옴


유저별 포인트 적립

모바일에서 결제하기 누르면 다른창으로 넘어간다
로직이 실행이 안됌 (페이지를 벗어났기 때문에)
-> 백엔드에서 웹훅노티피케이션 설정 해줘야 함
-> 프론트에서는 결제를 완료했을 때 이동할 페이지를 적어줘야 함
결제완료했을 때 돌아갈 페이지를 옵션값으로 넣어줘야함


: 모바일 결제가 끝나면 이 페이지로 이동시켜주세요~


뉴데이트는 저장용으로 프론트에서는 하지않는다
(각 컴퓨터마다 시간이 다르기 때문에)

특정서비스를 만들 때 전세계를 기준으로 만든다고 가정하면,
나라별로 시간이 다르다.

UTC 시간을 넣어주고
각 나라별로 변형해서 보여준다
ex) 한국시간으로 변경 (UTC+9)

시간 라이브러리 - moment.js

정기결제 - 매월 특정한 시간에 결제
이벤트를 발생시키는 두가지 방법
1. 실제 사용자가 이벤트를 발생
(클릭을 한다거나 기능을 변경하던~ /입력이 일어났을 때)
2. 아무 버튼도 안 누르고 특정시간이 되면 자동으로 이벤트를 발생(= 기능이 실행) ex) 타임세일 쿠폰 등등

2번 방법 -> 크론탭 (크론서버) 
특정시간에 특정기능을 실행시켜줘~

백 -> 먼저 들어오는 게 아래쪽으로 쌓임 데이터를 뺄 때 가장 나중에 나간다
스택 -> 들어오는 게 위쪽으로 쌓임.

setTimeout -> 콜백함수
태스크 큐 안에 콜백함수가 들어온다. 콜스택이 비었을 때 들어간다.

시작합니다 나오고 왜 바로 종료합니다. 나오는지?

최종실행될 애 = 0초뒤에 시작할거다
변경될 때마다 실행된다

이벤트 루프-스레드(event-loop-thread) -> 자바스크립트에서 쓰임

멀티스레드라고 해서 동시에 처리되는 게 아니다

씨피유가 나뉘면 동시에 처리되는 게 맞음

시간초과는 싱글 스레드가 빠름

profile
블로그 이사 준비중!

0개의 댓글