Day 28) 1. 결제 API 테스트할 신용/체크카드 준비 됐지?!=> Iamport 2. 결제 시간? new Date() 하는거 아니었어?! => Advanced-Date-Issue 3.setTimeout()...! 이거 사기당했네! => EventLoop/ TaskQueue

송인호·2022년 6월 16일
0

dailyStudy

목록 보기
27/35

결제 해주는 회사

PG사 = patment Gateway
( NHN, Nicepay, KG이니시스 )

PG사 랑 계약을 해야한다.
만약 NHN이랑 계약을 한뒤 바꿀려 하면 굉장히 복잡한 과정을 다시 따라야한다.
그래서 결제솔루션 회사가 나왔다.
결제솔루션은 각 결제회사에 대한 api를 만들어놔서 편하게 계약을 할 수 있다.
(아임포트, 부트페이)

특정 프로그램을 만들어서 고객에게 제공해주는 회사 : 솔루션 회사

결제 시스템을 만드는 것
pg사랑 계약하는 시간이 1주일 정도 걸리고,
카드사랑 계약하는 것도 2주일 정도 걸린다.
그리고 기능이 정말 많아서 3개월 이상은 걸린다.

2교시

다날 본인인증

웹훅 노티피케이션

예를들어 무통장입금을 하게 되면 atm기기 에서 입금을 하기 때문에
아임포트 에서 백엔드로 imp_uid를 보내 줘야한다.
그래서 백엔드에서 아임포트랑 연결을 해줘야 한다.

아임포트 웹훅 설정

아임포트 실습

성공시에 백엔드로 넘기는 부분 mutation을 써주면 된다.

Head 태그 만드는 법 Head를 import 해주면 Head에 쓰는 문법을 사용할 수 있다.

결제하고 rsp console

3교시


playground

모바일

모바일에서 실행을 하면 다른 사이트로 넘어간다.
그래서 쓴 로직이 실행이 안된다.

이때, 백엔드에서 웹훅노티피케이션 을 설정을 해줘야한다.
프론트에서는 결제가 된 후 돌아올 사이트값을 설정을 해줘야한다.

시간설정

사용자가 시간을 조정을 할 수 있어서
new Date() 는 저장용으로 프론트에서 하지 않는다.

세계표준 시간

UTC 세계 표준시간을 백엔드에서 받아와 국가시간으로 변경을 해줘야한다.

시간을 변경해주는 라이브러리가 있다.

moment.js

정기결제

결제하는 방식은 두가지가 있다.

  • 사용자가 이벤트를 발생!

  • 특정 시간이 되면 자동으로 이벤트를 발생! =

    크론탭(크론서버)에 시간과 기능을 등록해준다. ( 리눅스에 내장되어있음 )

setTimeout() 문제점

시간관련 오래걸리는 작업 예를들어 setTimeout() 함수 같은 경우는 Background 에 넣어준뒤, 테스크큐에 넣어주지만, 콜스택의 동작이 끝내면 들어가서 그 후에 실행이 된다.

이것을 event-loop라고 불린다.
single-event-loop-thread = 일꾼 ( 자바스크립트 에서는 싱글 )

thread ( 일꾼 ) vs process ( 프로그램 )

일반적인 다른 언어에서는 multi thread 이다.
멀티쓰레드는 동시에 처리하는 것처럼 보이지만 동시에 실행되는 것은 아니다.

profile
프론트엔드 개발자

0개의 댓글