현재 버전

웹 결제시스템(?)을 구축해달라는 요청이 있어서 찾아봤습니다.



기획자님이 탑툰 웹사이트 결제수단 고르는 화면 예시로 보여주면서

우리 회사가 운영하는 웹사이트 에서도 결제할 수 있게 해달라고 하시면서

결제수단 뭐뭐가능한지 부터 목록을 알려주면 기획하는데 참고하겠다고 했어요.


저는 기존에 관련 경험이 0이어서 처음부터 찾아봤던 내용들을 공유하려고 적어봅니다.

(저는 웹 프론트앤드 개발을 하고있습니다)


1. PG사가 무엇일까?

웹사이트에서 고객의 결제수단으로 결제를 할 수 있도록 도와주는 역할을 PG사가 한다 정도로 이해를 했습니다.

https://ko.wikipedia.org/wiki/%EC%A0%84%EC%9E%90%EC%A7%80%EA%B8%89%EA%B2%B0%EC%A0%9C%EB%8C%80%ED%96%89%EC%84%9C%EB%B9%84%EC%8A%A4


예시로 네이버페이가 PG사에 속하는지 안속하는지까지는 관심이 없지만,

https://developer.pay.naver.com/docs/v2/api

결제수단마다 이런식의 사이트가 존재했습니다.


그래서 제가 탑툰 사이트 처럼 결제수단 (네이버페이 카카오페이 토스 등등)을 여러개 만드려면,

결제수단별로 코드를 작성해야하는것으로 예상이 되었었어요.


위의 수고를 덜어주기위해,

https://www.iamport.kr/feature 라는 서비스를 찾았습니다.


아임포트는 국내외 주요 PG사들과 연동됩니다. 더이상 PG사를 추가할 때마다 연동 가이드를 보면서 씨름할 필요가 없습니다. 아임포트로 여러 PG사들을 즉시 사용하세요.


제가 예상한게 맞더라구요.

네이버페이 카카오페이 토스 등등 하나 추가할 때마다 계속 코드를 작성해야했었나봐요.


그런데 이 사이트가 정말 감사한게,

https://github.com/iamport/iamport-manual

깃허브 페이지에 사용법을 안내하는걸로 안끝납니다


보통 라이브러리 깃허브 보면 API Reference있고 Example Motivation같은것 있고 끝이거든요.

그런데 저기는,


https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md


"결제" 자체에 대해서도 알려줍니다. 결제 프로세스부터 결제의 종류 등등이요.

결제 프로세스같은것들은 저같은 사람한테 생소하거든요. PG라는 단어가 무슨뜻인지도 오늘 처음알았어요.


3. 그래서 지원하는 PG사 종류는?

"하나의 라이브러리로 여러곳의 PG사를 등록할 수 있다" 라고 했으니,

이 라이브러리로 얼마나 많은 PG사를 이용할 수 있는지가 궁금했었어요.

https://www.iamport.kr/pg


음 제가 평소에 다른사이트에서 보던것들은 다 있더라구요.


4. 그래서 어떻게 구현해야할까?

https://okky.kr/article/438760


총 5가지 정도로 생각을 정리했어요.


(1) 개발 / 구현 / 테스트

PG사와 계약을 하지않더라도,

테스트는 가능하다고 합니다. 아임포트에서도 테스트는 가능하다고 명시가 되어있더라구요.

그래서 개발하는건 아임포트 깃허브 보면서 구현을 하면 문제없이 완성할 수 있다고 판단됬어요.

라이브러리 설명서 보며 구현하는건 익숙해서 걱정이없어요.


(2) PG사와 계약준비

아임포트는 여러 PG사를 하나의 라이브러리로 구현할 수 있도록 도와주는 역할만 합니다.

그래서 실제 PG사와의 계약은 직접 해야한다고 하네요.

그래서 PG사와 계약하는데 사업자등록증부터 실제 판매하는 상품종류까지

PG사마다 뭐 이런저런 조건이 붙는거같아요.


그중에서 개발자로써 PG사 계약 준비를 해줘야하는것들이 좀 있더라구요.


개인정보 수집한다고 어딘가에 명시를 해줘야하는거같고,

결제할때도 약관같은거를 어딘가에 명시해줘야하는거같고,

뭐 이런것들이요. 이건 제가 해야하는일이니까요. 


근데 또 PG사마다 요구하는게 다를 수 있으니

이부분은 PG사 계약하기전에 찾아보면 될거같아요.

그리고 PG사에서 이거 안해주면 계약 안해줄거라고 피드백 주겟죠, 이부분은 별로 걱정이 없습니다.


(3) PG사와 계약

PG사마다 계약을 다 직접 맺어야하는데 이걸 저한테 시킬지 말지 모르겠어요.

회사가 스타트업이라 각 분야별로 인원이 나뉘어진게 아니여서요.


(4) 아임포트 서비스신청

아임포트가 어쨌든 PG사마다 구현하는 작업을 도와주는 서비스이기때문에,

여기도 돈받고 하더라구요.

그래서 회사이름으로 계정만들고, 돈 10만원 (최초 1회)내서 신청하면 되겠더라구요.


(5) 프론트앤드 개발 소요

https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md

결제 프로세스 알려주는곳을 다 읽어보고 현재 예상하고있는 절차는,


저는 사용자가 결제 요청을 하도록 돕고,

그걸로 결제되고 사용자 통장에서 돈이 빠지는 프로세스 까지는


회사의 백엔드 개발자가 1도 참여하는게 없다는거에요.

당연히 결제요청에 대한 응답은 우리 회사서버에서 하는게 아니니까요.

그래서 결제 요청을 만들어서 보내고 성공했을 때 / 실패했을 때 까지가 제 역할인거같아요.


대신에 결제가 성공했을 때 어느사용자가 뭐 결제했는지 이런 정보를 회사 서버에 보내주기만하면

이후에는 제가아니라 회사 백엔드개발자가 신경쓸 영역이다 정도로 이해했어요.



이제 정리하면,

1. 기획자분 한테는 아임포트가 지원하는 PG사 종류 보여주면서 이런 결제수단을 등록할 수 있다고 알려주고,

2. 아임포트 회사계정 만드는거랑 비용문제도 담당자에게 알려주고,


저는 아임포트 사용법 익히고 저기서 알려주는 "결제" 관련 배경지식도 같이 익히면,

결과적으로 웹 결제시스템 구축하는데 문제가 없지않을까 하고 생각해봅니다.


그리고 결제 시스템있는 웹사이트는 많잖아요?

이런 시스템을 직접 붙여보는 경험을 한다니 기대가 되네요.


수정 이력

2021-01-17 18:33:28 에 아래 내용에서 변경 됨 #2


기획자님이 탑툰 웹사이트 결제수단 고르는 화면 예시로 보여주면서

우리 회사가 운영하는 웹사이트 에서도 결제할 수 있게 해달라고 하시면서

결제수단 뭐뭐가능한지 부터 목록을 알려주면 기획하는데 참고하겠다고 했어요.


저는 기존에 관련 경험이 0이어서 처음부터 찾아봤던 내용들을 공유하려고 적어봅니다.

(저는 웹 프론트앤드 개발을 하고있습니다)


1. PG사가 무엇일까?

웹사이트에서 고객의 결제수단으로 결제를 할 수 있도록 도와주는 역할을 PG사가 한다 정도로 이해를 했습니다.

https://ko.wikipedia.org/wiki/%EC%A0%84%EC%9E%90%EC%A7%80%EA%B8%89%EA%B2%B0%EC%A0%9C%EB%8C%80%ED%96%89%EC%84%9C%EB%B9%84%EC%8A%A4


예시로 네이버페이가 PG사에 속하는지 안속하는지까지는 관심이 없지만,

https://developer.pay.naver.com/docs/v2/api

결제수단마다 이런식의 사이트가 존재했습니다.


그래서 제가 탑툰 사이트 처럼 결제수단 (네이버페이 카카오페이 토스 등등)을 여러개 만드려면,

결제수단별로 코드를 작성해야하는것으로 예상이 되었었어요.


위의 수고를 덜어주기위해,

https://www.iamport.kr/feature 라는 서비스를 찾았습니다.


아임포트는 국내외 주요 PG사들과 연동됩니다. 더이상 PG사를 추가할 때마다 연동 가이드를 보면서 씨름할 필요가 없습니다. 아임포트로 여러 PG사들을 즉시 사용하세요.


제가 예상한게 맞더라구요.

네이버페이 카카오페이 토스 등등 하나 추가할 때마다 계속 코드를 작성해야했었나봐요.


그런데 이 사이트가 정말 감사한게,

https://github.com/iamport/iamport-manual

깃허브 페이지에 사용법을 안내하는걸로 안끝납니다


보통 라이브러리 깃허브 보면 API Reference있고 Example Motivation같은것 있고 끝이거든요.

그런데 저기는,


https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md


"결제" 자체에 대해서도 알려줍니다. 결제 프로세스부터 결제의 종류 등등이요.

결제 프로세스같은것들은 저같은 사람한테 생소하거든요. PG라는 단어가 무슨뜻인지도 오늘 처음알았어요.


3. 그래서 지원하는 PG사 종류는?

"하나의 라이브러리로 여러곳의 PG사를 등록할 수 있다" 라고 했으니,

이 라이브러리로 얼마나 많은 PG사를 이용할 수 있는지가 궁금했었어요.

https://www.iamport.kr/pg


음 제가 평소에 다른사이트에서 보던것들은 다 있더라구요.


4. 그래서 어떻게 구현해야할까?

https://okky.kr/article/438760


총 3단계 정도로 생각을 했어요.


(1) 개발 / 구현 / 테스트

PG사와 계약을 하지않더라도,

테스트는 가능하다고 합니다. 아임포트에서도 테스트는 가능하다고 명시가 되어있더라구요.

그래서 개발하는건 아임포트 깃허브 보면서 구현을 하면 문제없이 완성할 수 있다고 판단됬어요.

라이브러리 설명서 보며 구현하는건 익숙해서 걱정이없어요.


(2) PG사와 계약준비

아임포트는 여러 PG사를 하나의 라이브러리로 구현할 수 있도록 도와주는 역할만 합니다.

그래서 실제 PG사와의 계약은 직접 해야한다고 하네요.

그래서 PG사와 계약하는데 사업자등록증부터 실제 판매하는 상품종류까지

PG사마다 뭐 이런저런 조건이 붙는거같아요.


그중에서 개발자로써 PG사 계약 준비를 해줘야하는것들이 좀 있더라구요.


개인정보 수집한다고 어딘가에 명시를 해줘야하는거같고,

결제할때도 약관같은거를 어딘가에 명시해줘야하는거같고,

뭐 이런것들이요. 이건 제가 해야하는일이니까요. 


근데 또 PG사마다 요구하는게 다를 수 있으니

이부분은 PG사 계약하기전에 찾아보면 될거같아요.

그리고 PG사에서 이거 안해주면 계약 안해줄거라고 피드백 주겟죠, 이부분은 별로 걱정이 없습니다.


(3) PG사와 계약

PG사마다 계약을 다 직접 맺어야하는데 이걸 저한테 시킬지 말지 모르겠어요.

회사가 스타트업이라 각 분야별로 인원이 나뉘어진게 아니여서요.


(4) 아임포트 서비스신청

아임포트가 어쨌든 PG사마다 구현하는 작업을 도와주는 서비스이기때문에,

여기도 돈받고 하더라구요.

그래서 회사이름으로 계정만들고, 돈 10만원 (최초 1회)내서 신청하면 되겠더라구요.


(5) 프론트앤드 개발 소요

https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md

결제 프로세스 알려주는곳을 다 읽어보고 현재 예상하고있는 절차는,


저는 사용자가 결제 요청을 하도록 돕고,

그걸로 결제되고 사용자 통장에서 돈이 빠지는 프로세스 까지는


회사의 백엔드 개발자가 1도 참여하는게 없다는거에요.

당연히 결제요청에 대한 응답은 우리 회사서버에서 하는게 아니니까요.

그래서 결제 요청을 만들어서 보내고 성공했을 때 / 실패했을 때 까지가 제 역할인거같아요.


대신에 결제가 성공했을 때 어느사용자가 뭐 결제했는지 이런 정보를 회사 서버에 보내주기만하면

이후에는 제가아니라 회사 백엔드개발자가 신경쓸 영역이다 정도로 이해했어요.



이제 정리하면,

1. 기획자분 한테는 아임포트가 지원하는 PG사 종류 보여주면서 이런 결제수단을 등록할 수 있다고 알려주고,

2. 아임포트 회사계정 만드는거랑 비용문제도 담당자에게 알려주고,


저는 아임포트 사용법 익히고 저기서 알려주는 "결제" 관련 배경지식도 같이 익히면,

결과적으로 웹 결제시스템 구축하는데 문제가 없지않을까 하고 생각해봅니다.


그리고 결제 시스템있는 웹사이트는 많잖아요?

이런 시스템을 직접 붙여보는 경험을 한다니 기대가 되네요.

2021-01-17 18:32:09 에 아래 내용에서 변경 됨 #1


기획자님이 탑툰 웹사이트 결제수단 고르는 화면 예시로 보여주면서

웹에서 결제할 수 있게 해달라고 하시면서

결제수단 뭐뭐가능한지 부터 목록을 알려주면 기획하는데 참고하겠다고 했어요.


저는 기존에 관련 경험이 0이어서 처음부터 찾아봤던 내용들을 공유하려고 적어봅니다.

(저는 웹 프론트앤드 개발을 하고있습니다)


1. PG사가 무엇일까?

웹사이트에서 고객의 결제수단으로 결제를 할 수 있도록 도와주는 역할을 PG사가 한다 정도로 이해를 했습니다.

https://ko.wikipedia.org/wiki/%EC%A0%84%EC%9E%90%EC%A7%80%EA%B8%89%EA%B2%B0%EC%A0%9C%EB%8C%80%ED%96%89%EC%84%9C%EB%B9%84%EC%8A%A4


예시로 네이버페이가 PG사에 속하는지 안속하는지까지는 관심이 없지만,

https://developer.pay.naver.com/docs/v2/api

결제수단마다 이런식의 사이트가 존재했습니다.


그래서 제가 탑툰 사이트 처럼 결제수단 (네이버페이 카카오페이 토스 등등)을 여러개 만드려면,

결제수단별로 코드를 작성해야하는것으로 예상이 되었었어요.


위의 수고를 덜어주기위해,

https://www.iamport.kr/feature 라는 서비스를 찾았습니다.


아임포트는 국내외 주요 PG사들과 연동됩니다. 더이상 PG사를 추가할 때마다 연동 가이드를 보면서 씨름할 필요가 없습니다. 아임포트로 여러 PG사들을 즉시 사용하세요.


제가 예상한게 맞더라구요.

네이버페이 카카오페이 토스 등등 하나 추가할 때마다 계속 코드를 작성해야했었나봐요.


그런데 이 사이트가 정말 감사한게,

https://github.com/iamport/iamport-manual

깃허브 페이지에 사용법을 안내하는걸로 안끝납니다


보통 라이브러리 깃허브 보면 API Reference있고 Example Motivation같은것 있고 끝이거든요.

그런데 저기는,


https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md


"결제" 자체에 대해서도 알려줍니다. 결제 프로세스부터 결제의 종류 등등이요.

결제 프로세스같은것들은 저같은 사람한테 생소하거든요. PG라는 단어가 무슨뜻인지도 오늘 처음알았어요.


3. 그래서 지원하는 PG사 종류는?

"하나의 라이브러리로 여러곳의 PG사를 등록할 수 있다" 라고 했으니,

이 라이브러리로 얼마나 많은 PG사를 이용할 수 있는지가 궁금했었어요.

https://www.iamport.kr/pg


음 제가 평소에 다른사이트에서 보던것들은 다 있더라구요.


4. 그래서 어떻게 구현해야할까?

https://okky.kr/article/438760


총 3단계 정도로 생각을 했어요.


(1) 개발 / 구현 / 테스트

PG사와 계약을 하지않더라도,

테스트는 가능하다고 합니다. 아임포트에서도 테스트는 가능하다고 명시가 되어있더라구요.

그래서 개발하는건 아임포트 깃허브 보면서 구현을 하면 문제없이 완성할 수 있다고 판단됬어요.

라이브러리 설명서 보며 구현하는건 익숙해서 걱정이없어요.


(2) PG사와 계약준비

아임포트는 여러 PG사를 하나의 라이브러리로 구현할 수 있도록 도와주는 역할만 합니다.

그래서 실제 PG사와의 계약은 직접 해야한다고 하네요.

그래서 PG사와 계약하는데 사업자등록증부터 실제 판매하는 상품종류까지

PG사마다 뭐 이런저런 조건이 붙는거같아요.


그중에서 개발자로써 PG사 계약 준비를 해줘야하는것들이 좀 있더라구요.


개인정보 수집한다고 어딘가에 명시를 해줘야하는거같고,

결제할때도 약관같은거를 어딘가에 명시해줘야하는거같고,

뭐 이런것들이요. 이건 제가 해야하는일이니까요. 


근데 또 PG사마다 요구하는게 다를 수 있으니

이부분은 PG사 계약하기전에 찾아보면 될거같아요.

그리고 PG사에서 이거 안해주면 계약 안해줄거라고 피드백 주겟죠, 이부분은 별로 걱정이 없습니다.


(3) PG사와 계약

PG사마다 계약을 다 직접 맺어야하는데 이걸 저한테 시킬지 말지 모르겠어요.

회사가 스타트업이라 각 분야별로 인원이 나뉘어진게 아니여서요.


(4) 아임포트 서비스신청

아임포트가 어쨌든 PG사마다 구현하는 작업을 도와주는 서비스이기때문에,

여기도 돈받고 하더라구요.

그래서 회사이름으로 계정만들고, 돈 10만원 (최초 1회)내서 신청하면 되겠더라구요.


(5) 프론트앤드 개발 소요

https://github.com/iamport/iamport-manual/blob/master/%EC%9D%B8%EC%A6%9D%EA%B2%B0%EC%A0%9C/background.md

결제 프로세스 알려주는곳을 다 읽어보고 현재 예상하고있는 절차는,


저는 사용자가 결제 요청을 하도록 돕고,

그걸로 결제되고 사용자 통장에서 돈이 빠지는 프로세스 까지는


회사의 백엔드 개발자가 1도 참여하는게 없다는거에요.

당연히 결제요청에 대한 응답은 우리 회사서버에서 하는게 아니니까요.

그래서 결제 요청을 만들어서 보내고 성공했을 때 / 실패했을 때 까지가 제 역할인거같아요.


대신에 결제가 성공했을 때 어느사용자가 뭐 결제했는지 이런 정보를 회사 서버에 보내주기만하면

이후에는 제가아니라 회사 백엔드개발자가 신경쓸 영역이다 정도로 이해했어요.



이제 정리하면,

1. 기획자분 한테는 아임포트가 지원하는 PG사 종류 보여주면서 이런 결제수단을 등록할 수 있다고 알려주고,

2. 아임포트 회사계정 만드는거랑 비용문제도 담당자에게 알려주고,


저는 아임포트 사용법 익히고 저기서 알려주는 "결제" 관련 배경지식도 같이 익히면,

결과적으로 웹 결제시스템 구축하는데 문제가 없지않을까 하고 생각해봅니다.


그리고 결제 시스템있는 웹사이트는 많잖아요?

이런 시스템을 직접 붙여보는 경험을 한다니 기대가 되네요.