본문 바로가기
  • 삽질하는 자의 블로그
공부용-사이드프로젝트/Nodejs - 미니프로젝트-쇼핑몰

7. 첫 API, 결제시스템을 대신해주는 Stripe API , 그리고 MAP의 재활용!

by 이게뭐당가 2022. 10. 6.

결제 시스템을 갖추어본다.

 

우선  API 라는것을 사용해야한다.

 

API 란 Application Programming Interface 의 약자로


" 서로 다른 두 애플리캐이션의 대화방식" 정도로 말할 수 있겠다.

 

API 는  " 요청과 응답을 통하여, 통신하는 방법을 정의하고 있으며", 

  클라이언트(나) 가 상대 쪽으로 요청을 하면

  서버(제공자) 가 요청을 받아들여, 응답함으로써, 데이터를 주고받으며

API는 이러한 요청와 응답에 대한 방법을 정의하고 있는것이다.

 

우리 모두가, 어플리케이션에 필요한 모든 기능을 스스로 만든다면, 

정말로 비효율적이고, 고난의 시간이 될것이다.

 

음식점을 찾아주는 어플을 만들때, 필요한 지도를 만들겠다고

너무나 커다랗고 방대한, 구글맵을 스스로 만든다고 생각하면, 일단 가능하지도 않을 뿐더러, 

너무나 비효율적이다.

 

그래서 우리는 [ 서비스를 제공하는 곳의 API 를 사용함으로써, 그곳의 기능을 효율적으로 받아 올 수있다.]

 

나는 결제시스템을 위하 STRIPE 라는 API를 사용했다.

 

시작!

 

0. API는 사용 설명서가 정말정말 중요하다.

 만든사람마다 전부 다른 설명서를 지니고 있기에, 하란대로 잘 따라해야한다!

 

STRIPE DEVELOPER QUICK START PAGE

가입을 하고, 개발자 창에 가서, 시작을 하면 이렇게 하라고 쭉쭉 설명서를 제공한다.

STRIPE API

중간중간 상세정보에 필요한 API도 제공한다.

 

나는 [결제 창]이 당연하게도 [PAY] 버튼에 있어야 하기 때문에

 

PAY와 연결된 컨트롤러에, 결제코드를 넣었다.

여기서 정말 중요했던 것은,

API는 통신방법이 정말 중요하다.

제공자가 원하는 폼을 갖추기 위해서 나는 MAP 을 적극 활용했다.

 

각, 배열의 객체항목마다,

price_data: {

   currency: ...

   product_data : {

         name : ...

    }

  ...

}

이라는 양식이 필요하므로, 

Array.map() 으로 , 모든 배열에 관하여 양식을 지정해주었다.

 

결과는?

 

깔끔하게 완성되었다.

 

나의 첫 API, 결제시스템 STRIPE의 API 였다.

 

사실, 참 이상한 시행착오가 많았지만...

그건 오류에서 다루어보겠다.

정말 이상하다 정말 이상해...

댓글