Inflearn brand logo image
Inflearn brand logo image

파이썬/장고로 결제 시작하기 (Feat. 아임포트) - 기본편

웹 서비스 결제 연동에 어려움을 겪고 계신가요? 장고와 아임포트를 통해 여러분의 서비스에 결제를 빠르게 적용해보세요.

중급자를 위해 준비한
[웹 개발] 강의입니다.

이런 걸 배울 수 있어요

  • 아임포트 결제 서비스에 대한 이해

  • 장고와 아임포트 API를 활용한 간결한 결제 구현

  • 장고를 활용한 쇼핑몰 핵심 기능 (장바구니 등) 만들기

인생은 짧습니다. 결제 연동에서도 파이썬/장고를 통해,
비즈니스를 빠르게 성공적으로 이끄시고 여러분의 시간도 아끼세요
. 💪

강의 듣고 PyCharm Professional 쿠폰 받자! 🎫

장고 개발의 최적의 IDE인 PyCharm Professional (유료 툴)을 강의 후에도 사용하실 수 있도록 JetBrains으로부터 6개월 쿠폰을 후원받았습니다.

  1. 강의 중에는 PyCharm Professional 트라이얼 1개월 라이센스로 진행합니다.
  2. 완강하지 않으셔도, 수강신청하셨다면 아래 구글폼을 통해 쿠폰 신청이 가능합니다.
    1. 신청 링크 : https://forms.gle/mvDwLQmaCz4Z2vQD9
  3. 매주 금요일까지 신청된 내역을 확인하여 신청하신 이메일 주소로 쿠폰을 보내드리겠습니다.
  4. 받은 쿠폰은 즉시 등록해주세요. 등록하지 않으면 JetBrains로부터 더 이상 라이센스 지원을 받을 수 없게 됩니다.
  5. 쿠폰 신청은 강의 별로 1인 1회 가능합니다.
  6. Tip: 본 쿠폰을 사용하신 후에, 해당 계정에서 이어서 유료로 JetBrains 구독하시면, 할인된 가격으로 구독하실 수 있습니다.

참고) 학생/교사이신 분은 JetBrains의 학생 지원 프로그램을 통해, JetBrains의 모든 툴을 1년 단위로 라이센스 받으실 수 있습니다. 해당 프로그램을 신청하시면 수일 내로 라이센스를 발급받으실 수 있습니다.

여러분들은 어떤 코드를 선택하시겠어요?

  • 왼쪽 코드 : 포트원 결제 API를 사용한 코드
  • 오른쪽 코드 : 이니시스 사의 JSP 샘플 코드

아임포트의 결제 API는 간결하고 강력하지만, 이를 웹서비스에 접목하기를 어려워하시는 분들이 많습니다. 이 강의 하나면 여러분의 장고 프로젝트에 아임포트 결제를 연동하실 수 있습니다.

아임포트 💳

웹 서비스에서 결제 연동은 오랫동안 우리를 힘들게 하는 기능이었습니다. PG사들은 결제 연동 개발 경험 개선에는 전혀 관심이 없었습니다.

  1. 각 PG사의 십수 년 전에 만들어진 장황한 개발문서와 노후한 PHP/JSP 샘플 코드
    • 현대적인 언어와 프레임워크에 적용하려면, 어디서부터 시작해야 할까? 😢
  2. PG사들마다 다른 프로토콜
    • PG를 하나만 쓰면 단일장애점이 되니, PG 2개 이상 쓸려면 각기 다른 PG 프로토콜 구현을 해야 한다고? 😨

그러한 어려움을 포트원 (구: 아임포트) 서비스가 해결해주었습니다. 디지털 타임즈의 "온라인 결제 서비스 업체 아임포트, 누적 거래액 4조 원 돌파해" (2020년 9월 9일 기사)에 따르면, 2020년 당시 당근마켓, 밀리의 서재, 라인프렌즈, 오늘의집, 번개장터, 스타일쉐어 등의 기업들이 아임포트를 활용해서 온라인 결제를 구현했다고 합니다.

아임포트 서비스는 다음 장점이 있습니다.

  1. 간결하고 명확한 결제 API를 제공합니다.
  2. 포트원의 단일 API만으로 국내 모든 PG사와 결제 연동이 가능합니다.
    • PG가 변경되면 소스코드를 변경할 필요 없이, 포트원 관리자 페이지에서 설정만 변경해주면 됩니다.
    • 여러 PG사의 계약을 위한 신청은 포트원 관리자에서  한 번에 진행할 수 있습니다.
  3. 친절하고 자세한 개발 가이드와 여러 언어/프레임워크에 최적화된 현대화된 라이브러리가 제공됩니다.
    • 파이썬, React, Vue, Cordova, Swift, Android, Flutter, Go, Java 등

이런 분들께 추천해요 🙆‍♀️

파이썬/장고 프로젝트에 결제를 연동하고 싶은 분

아임포트를 활용한 효율적인 결제 연동 방법을 알고 싶은 분

장고 기초 이후 새로운 도전을 찾고 있는 분


강의 특징 ✨

기초부터 차근차근 쌓아 올리는 결제 강의

장고 홀릭 개발자가 제시하는 효율적인 학습

결제 연동 2회 실습으로 이해도 Up

10분 내외의 영상으로 수강 편의성 증대

편한 학습 환경을 위한 한글 자막 제공

학습을 위한 강의 슬라이드 PDF 제공


학습 내용 📚

1. Overview

  • 실제 소스 코드 및 데모와 함께, 아임포트 결제 연동 핵심코드
  • 장고에서 포트원 API 연동을 위한 결제 프로세스 9단계




2. 장고 프로젝트 사전 작업

  • 장고 프로젝트 생성 밑 작업
  • 소스 코드 포맷팅 유틸리티 black과 djlint 설치 가이드
  • django-debug-toolbar 라이브러리 설치
  • django-environ 라이브러리를 활용한 환경변수 로딩 및 파싱
  • django-bootstrap5 라이브러리를 활용한 손쉬운 부트스트랩 연동

3. 아임포트 핵심 로직을 빠르게 살펴보고 구현해보기

포트원 JS API 및 REST API를 장고 프로젝트에 최소한의 코드로 적용하여, 포트원 API를 경험해봅니다.

  • 포트원 JS API만으로 결제해보기
  • Payment 모델을 통한 결제내역 저장 및 조회
  • 포트원 가맹점 식별코드 확인 및 환경변수로 지정 및 로딩
  • 포트원 REST API를 활용한 결제내역 검증

4. accounts 회원가입, 로그인, 로그아웃, 프로필 구현

결제 및 결제 확인을 위해서는 사용자 인증이 필수입니다. 장고 기본 앱 django.contrib.auth를 적극 활용하여 유저 인증을 구현합니다.

  • UserCreationForm과 CreateView를 활용한 회원가입 구현
  • LoginView를 활용한 로그인 구현
  • LogoutView를 활용한 로그아웃 구현
  • login_required 장식자를 활용한 프로필 구현

5. mall 앱 - 기본 구성

상품 관리 기능을 만들어봅니다.

  • 상품 분류(Category) 및 상품(Product) 모델링
  • 장고 커스텀 명령 load_products 구현을 통한, 300여 개의 상품 일괄 등록
  • 상품 사진 서빙을 위한 MEDIA 설정
  • 효율적인 상품 관리를 위한 Admin 커스텀
  • 유저 노출용 상품 페이지 만들기, 썸네일 이미지 생성, 페이징 지원, 검색 지원

6. mall 앱 - 장바구니

보다 편리한 결제를 위해서는 장바구니 기능은 필수입니다. 

  • CartProduct 모델을 통한 장바구니 구현
  • 자바스크립트 개입 없이 장고 formset만으로 장바구니 수정 구현
  • django-widget-tweaks 라이브러리를 활용한 위젯 스타일 변경
  • 부트스트랩을 활용한 장바구니 알림 구현

7. mall 앱 - 주문 및 결제

본 강의에서 하이라이트 섹션입니다.

  • 주문과 결제 모델링
  • 장바구니를 통한 주문 생성
  • 포트원 결제를 추상화한 모델 설계 : 다양한 도메인에 손쉽게 클래스 상속만으로 아임포트 결제를 붙일 수 있도록, abstract Model을 설계해봅니다.
  • 결제 페이지 구현, 결제 조회 페이지 구현
  • 주문 목록 페이지 구현
  •  Admin 페이지에서의 결제 취소 구현

8. mall 앱 - 결제 결과 받기

유저의 디바이스에 따라서 결제 결과를 받는 방법이 다릅니다. 안정적으로 결제 결과를 받는 방법을 살펴봅니다.

  • 아이폰/안드로이드 환경에서의 결제 대응을 위한 m_redirect_url 인자 지원 방법
  • 안정적인 결제 연동을 위한 웹훅 지원 방법
  • 웹훅 테스트를 위한 ngrok 연동 방법: DisallowedHost 예외, CSRF 검증 실패 오류 대응 방법

 


예상 질문 Q&A 💬

Q. 수강 전에 갖춰야 할 환경, 기타 유의 사항이 있나요?

본 강의는 파이썬/파이참 개발환경 구축에 대해서는 다루지 않습니다. 개발환경 구축은 <장고 설계철학으로 시작하는 파이썬/장고 입문>의 개발환경구축 섹션을 "미리보기"로 공개해뒀으니, 이를 참고해 구축해주세요.

Q. 결제 연동에 사업자가 필요한가요?

아니요. 포트원 회원가입만으로 신용카드 결제를 연동하실 수 있습니다. 사업자 및 PG 가입은 서비스 구현 뒤에 하셔도 됩니다.

Q. 장고를 처음 시작하는 사람도 들을 수 있는 강의인가요?

장고의 실습에는 지장이 없지만, 장고의 핵심 개념들을 알고 계신다면 강의 이해에 큰 도움이 됩니다.


지식공유자 소개 ✒️

파이썬과 장고에 진심인 소프트웨어 개발자 이진석입니다.

  • 파이썬 홀릭, 장고 실무 16년 차 개발자
  • 장고 질답 커뮤니티 Ask Company with Django/React (구. Ask Django) 운영자
  • 대전 <파이썬 사랑방> 운영자
  • Microsoft Azure MVP 어워드 수상 (2016년~2021년, Microsoft MVP가 무엇인가요?)
  • 서울대학교, 벤처경영학 연합전공, 파이썬/장고 강의 "벤처창업 웹프로그래밍" 강사 (2016년/2017년)
  • 패스트캠퍼스, 웹서비스 개발 캠프 (파이썬/장고) 3기 강사 (2015년)
  • 다수 대학 및 기업 강의 및 자문 : 서울대학교, 카이스트, 부산대학교, 한양대학교, 국민대학교, 삼성전자, LG전자, LS그룹, SK Planet, 엔코아, KB증권, SK텔링크, 현대자동차그룹 이노션, 코스콤, 네이버 NIT Service, 아트센터 나비, 한국은행, 한국산업기술평가원 등

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 장고에서의 결제 연동에 대해서 궁금하신 분

  • 아임포트 공식 문서를 봐도, 서비스 연동이 어려우신 분

  • 장고 기본을 익히시고, 새로운 도전거리를 찾으시는 분

선수 지식,
필요할까요?

  • 파이썬 언어 기초 (함수, 클래스, 장식자)

  • 웹 프론트엔드 자바스크립트 기초 (함수, 이벤트 처리)

안녕하세요
이진석입니다.

2,745

수강생

130

수강평

926

답변

4.7

강의 평점

5

강의

파이썬과 장고에 진심인 소프트웨어 개발자

대외 활동

  • 오프라인 교육 : SK텔링크, LS그룹, 삼성 디스플레이, 부산대학교 정보화본부, 서울대학교 벤처경영학연합전공, 패스트캠퍼스 웹서비스 개발 캠프 3기 등

  • 기술 자문 : 유클리드소프트, 부산대학교, 한국산업기술평가관리원, 한국방송통신전파진흥원 등

여러분의 파이썬/장고/리액트 페이스메이커가 되겠습니다. 😉

더보기

커리큘럼

전체

56개 ∙ (5시간 28분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

9개

5.0

9개의 수강평

  • bluebamus님의 프로필 이미지
    bluebamus

    수강평 17

    평균 평점 5.0

    5

    100% 수강 후 작성

    iamport를 이용한 결제와 관련한 전반적인 내용을 학습할 수 있었다. 무엇보다, 실무에 바로 써먹을 핵심들을 강의에 잘 녹여들게 만들었다고 생각된다. 제품을 장바구니에 넣고, 결제하고, 결제 현황을 검증하고, 취소하는 일련의 과정이 잘 담겨 있다. 근래 결제한 많은 강의 중, 돈이 전혀 아깝지 않은 강의였다. 다만, 실재 쇼핑몰 구현에서는 강의에서 다룬 위 단계의 내용들이 간결히, 핵심 부분만 있다 생각되어져서 아쉬웠다. 실무에 있을 좀 더 다양한 상황에서의 강의가 추가되었으면 했다. 예를 들면, 익명 사용자의 결제와 같은 구현은 정말 고민이 되는 시나리오다. 지금의 강의 만으로도 다른 강의와 차별이 있지만, 조금씩이라도 보충 내용이 추가되어 업데이트 되어 다시 방문을 여러번 하는 강좌가 되었으면 하는 바램이 있다. 주변 사람에게 적극 추천할 의지가 드는 강의였다.

    • 이진석
      지식공유자

      수강평에 감사드립니다. 현재의 장바구니/결제 구현은 로그인 User 모델과의 외래키 관계를 가지도록 설계되어있기 때문에, 반드시 로그인 상태여야 하는 데요. 말씀하신 "익명 사용자의 결제" 부분은 저도 한 번 고민해보고, 그 결과를 공유해볼 수 있도록 하겠습니다. 강의에 활발히 참여해주셔서 정말 감사드립니다. 👍

  • paichai17님의 프로필 이미지
    paichai17

    수강평 2

    평균 평점 5.0

    5

    96% 수강 후 작성

    django 로 웹 서비스를 개발하고 있는 초급 개발자에요. 최종적으로 아이엠포트(포트원)을 서비스에 연동시키는데, django로는 document도 없고 답답한 나머지 마지막 동아줄 붙잡는 심정으로 결제하고 수강했습니다. 제가 필요한 부분만 골라 들으려고 했는데, 강의를 듣다보니 제 코딩에 도움 되는 내용들이 너무 많은거에요(쇼핑몰 관련) 장점을 말씀드리면 1. 빠른 진행 - 군더더기 없고, 타자가 빠르셔서 기다리는 시간이 없고 요점만 잘 전달해주십니다. 오디오도 좋고, 자막도 훌륭해요. 기다리는 부분은 모두 편집해서 좋습니다 엄지척! 2. 좋은 코드 작성법 - 저 같은 초급 개발자는, 고수의 코드를 읽는게 굉장히 도움이 되요. 그런데 읽다보면 이건 왜 이런 의도로 작성했는 지 모를 때가 많은데, 하나씩 따라가니깐 모든 의도들을 알 수 있어서 좋았습니다. 3. 실전에서 사용할 수 있는 코드 - 어디서나 볼 수 잇는 쉬운 코드가 아니고, 보안까지 생각한 실무적인 내용들이 많아서 그대로 옮겨 쓰면 될 것 같아서 정말 좋았습니다. 제가 살고 있는 대전에 파이썬 모임도 주선하고 계셔서 한번 꼭 찾아뵙고 감사의 말씀드리고 싶고, 이미 개발이 끝난 상태지만, 제 코드를 조금 전문가 스럽게 바꾸고 싶어서 django 정규강의(?)도 수강할 예정입니다. 강력추천드려요. 코드만 봐도 공부가 됩니다.

    • powernt님의 프로필 이미지
      powernt

      수강평 2

      평균 평점 5.0

      5

      100% 수강 후 작성

      온라인에 글 잘 안남기는 스타일인데 신기해서 몇자 적어봅니다. 이 좋은 강의에 왜 수강평이 없을까요? ㅎㅎ 이진석님 덕분에 장고에 입문하게 되었고 만들어주신 모든 강의 다 공부하고 있습니다. 덕분에 아이디어로만 남을뻔 했던 웹서비스 운영하는 사업도 진행하게 되었습니다. 항상 좋은 강의와 정보 제공해 주셔서 감사합니다. 다른 분들 장고 강의도 많은 도움이 되었지만 실무적으로 활용 가능한 장고 강의는 유일하게 제공해 주시는것 같습니다. 장고를 활용 할 수 있는 더 많은 강의 계속 기대하겠습니다. 참고로 파이썬 및 장고 초보자 분들은 어려울 수 있으나 결국 이곳으로 다시 찾아 오시게 될 듯 싶습니다. 제가 그랬네요... 할인 기간이면 강의 미리 구매해 놓으셔도 좋을듯 합니다. 장고 중급으로 가는 가장 빠른 지름길 입니다...

      • 저도 강의 너무 좋았습니다. 알바아님

    • 강재구님의 프로필 이미지
      강재구

      수강평 2

      평균 평점 5.0

      5

      100% 수강 후 작성

      스프링엔 김영한님이 계시다면, 장고엔 이진석 강사님이 계시는것 같습니다 :)

      • 커리30님의 프로필 이미지
        커리30

        수강평 4

        평균 평점 5.0

        5

        100% 수강 후 작성

        결제는 처음 접해보는데 어떻게 구현해야 하는지 잘 알아갑니다.

        비슷한 강의

        같은 분야의 다른 강의를 만나보세요!

        ₩55,000