개발 · 프로그래밍

/

웹 개발

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

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

(5.0) 수강평 9개

수강생 220명

Thumbnail

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

이런 걸
배워요!

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

  • 장고와 아임포트 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, 아트센터 나비, 한국은행, 한국산업기술평가원 등

이런 분들께
추천드려요!

학습 대상은
누구일까요?

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

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

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

선수 지식,
필요할까요?

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

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

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

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

커리큘럼

전체

56개 ∙ (5시간 28분)

수업 자료

가 제공되는 강의입니다.

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

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!