강의

멘토링

로드맵

Programming

/

Web Development

Getting started with payments using Python/Django (Feat. Aimport) - Basics

Are you having trouble integrating payments for your web service? Quickly apply payments to your service with Django and Import.

(5.0) 9 reviews

257 learners

  • pyhub
실습 중심
결제기능구현
Python
Django

Reviews from Early Learners

What you will learn!

  • Understanding the Import Payment Service

  • Simple payment implementation using Django and the Import API

  • Creating core shopping mall functions (shopping cart, etc.) using Django

Life is short. Even with payment integration, Python/Django is the way to go.
Run your business successfully and save time
. 💪

Take the course and get a PyCharm Professional coupon! 🎫

We received a 6-month coupon from JetBrains to use PyCharm Professional (paid tool), the best IDE for Django development, even after the course.

  1. During the lecture, you will use a 1-month trial license for PyCharm Professional.
  2. Even if you are not a regular student, if you have registered for the course, you can apply for a coupon through the Google form below.
    1. Application link: https://forms.gle/mvDwLQmaCz4Z2vQD9
  3. We will check your application details by Friday every week and send you a coupon to the email address you provided.
  4. Please register any coupons you receive immediately. Failure to do so will result in you no longer receiving license support from JetBrains.
  5. Coupon applications can only be made once per person per class .
  6. Tip: After using this coupon, you can continue to subscribe to JetBrains at a discounted price using the same account.

Note: Students and teachers can receive a one-year license for all JetBrains tools through the JetBrains Student Support Program . Once you apply for the program, you'll receive your license within a few days.

Which code would you choose?

  • Left code: Code using the PortOne payment API
  • Right code: JSP sample code from Inicis

While Import's payment API is simple and powerful, many people find it difficult to integrate it into their web services. With this one tutorial, you can integrate Import's payment API into your Django project.

I'mport 💳

Payment integration in web services has long been a frustrating feature. PG companies have shown no interest in improving the payment integration development experience.

  1. Long development documents and outdated PHP/JSP sample codes created by each PG company over a decade ago.
    • Where to start when applying it to modern languages and frameworks? 😢
  2. Different protocols for each PG company
    • If I use only one PG, it becomes a single point of failure, so if I want to use more than one PG, I have to implement different PG protocols for each? 😨

Portone (formerly I'mport) service has solved such difficulties. According to Digital Times' article " Online payment service provider I'mport surpasses 4 trillion won in cumulative transaction amount " (article dated September 9, 2020), companies such as Carrot Market, Millie's Library, Line Friends, Today's House, Beongaejangteo, and Style Share implemented online payments using I'mport in 2020.

The Import service has the following advantages:

  1. We provide a simple and clear payment API.
  2. Payment integration with all domestic PG companies is possible with just PortOne's single API.
    • When PG changes, you only need to change the settings on the PortOne administrator page without having to change the source code.
    • Applications for contracts with multiple PG companies can be processed at once through the PortOne administrator.
  3. We provide friendly, detailed development guides and modernized libraries optimized for multiple languages/frameworks.
    • Python, React, Vue, Cordova, Swift, Android, Flutter, Go, Java, etc.

I recommend this to these people 🙆‍♀️

Anyone who wants to integrate payments into their Python/Django project

Anyone who wants to know how to efficiently integrate payments using Import

Anyone looking for a new challenge after learning Django Basics


Lecture Features ✨

A payment course that builds up step by step from the basics

Effective learning presented by a Djangoholic developer

Increase your understanding with two practice sessions of payment integration.

Increased convenience of taking classes with videos of approximately 10 minutes

Korean subtitles provided for a comfortable learning environment

Lecture slides PDF provided for learning


What you'll learn 📚

1. Overview

  • Core code for Aimport payment integration, with actual source code and demos.
  • 9 Steps to the Payment Process for Portone API Integration in Django




2. Preparing the Django Project

  • Creating a Django Project and the Basic Tasks
  • Installation Guide for Black and Djlint, the Source Code Formatting Utilities
  • Install the django-debug-toolbar library
  • Loading and parsing environment variables using the django-environ library
  • Easy Bootstrap integration using the django-bootstrap5 library

3. Quickly review and implement the core logic of Import.

Experience the PortOne API by implementing the PortOne JS API and REST API into your Django project with minimal code.

  • Try making payments using only the PortOne JS API
  • Saving and viewing payment history through the Payment model
  • Verify the Port One affiliate identification code and specify and load it as an environment variable.
  • Payment history verification using PortOne REST API

4. Accounts Sign-up, Log-in, Log-out, Profile Implementation

User authentication is required for payments and confirmation. We implement user authentication by actively leveraging the Django default app, django.contrib.auth.

  • Implementing membership registration using UserCreationForm and CreateView
  • Implementing login using LoginView
  • Logout implementation using LogoutView
  • Implementing a profile using the login_required decorator

5. Mall App - Basic Configuration

Let's create a product management function.

  • Product classification (Category) and product modeling
  • Bulk registration of over 300 products through implementation of the Django custom command load_products
  • MEDIA settings for serving product photos
  • Admin Custom for efficient product management
  • Create product pages for user exposure, generate thumbnail images, support paging, and support search.

6. Mall App - Shopping Cart

For more convenient payment, the shopping cart function is essential.

  • Implementing a shopping cart using the CartProduct model
  • Implementing shopping cart modifications using only Django formsets, without JavaScript intervention.
  • Changing widget styles using the django-widget-tweaks library
  • Implementing a shopping cart notification using Bootstrap

7. Mall App - Ordering and Payment

This is the highlight section of this lecture.

  • Order and Payment Modeling
  • Create an order through the shopping cart
  • Designing an abstract model for PortOne payment: Let's design an abstract model so that you can easily attach ImportPay to various domains simply by inheriting classes.
  • Payment page implementation, payment inquiry page implementation
  • Implementing the Order List Page
  • Implementing payment cancellation on the Admin page

8. Mall App - Receive Payment Results

The method for receiving payment results varies depending on the user's device. Let's examine how to ensure stable payment results.

  • How to support the m_redirect_url argument for payment support in iPhone/Android environments
  • How to support webhooks for stable payment integration
  • How to integrate ngrok for webhook testing: How to handle DisallowedHost exceptions and CSRF verification failures


Expected Questions Q&A 💬

Q. Are there any environment requirements or other precautions I need to take before taking the course?

This lecture does not cover setting up a Python/PyCharm development environment. For more information, please refer to the "Preview" section of "Introduction to Python/Django: Django Design Philosophy ."

Q. Do I need a business license to link payments?

No. You can link credit card payments simply by signing up for PortOne. Business and PG registration can be completed after the service is implemented.

Q. Is this a course that even beginners to Django can take?

Although it does not interfere with the practical use of Django, it will be of great help in understanding the lecture if you know the core concepts of Django.


Introducing the Knowledge Sharer ✒️

I am Jinseok Lee , a software developer who is passionate about Python and Django.

  • Python addict, Django developer with 16 years of practical experience
  • Operator of Ask Company with Django/React (formerly Ask Django), a Q&A community for Django users
  • Daejeon < Python Love Room > Operator
  • Microsoft Azure MVP Award Winner (2016-2021, What is a Microsoft MVP? )
  • Seoul National University, Joint Major in Venture Management, Python/Django lecturer, "Venture Startup Web Programming" (2016/2017)
  • Fast Campus, Web Service Development Camp (Python/Django) 3rd Instructor (2015)
  • Lectures and consulting at numerous universities and companies: Seoul National University, KAIST, Pusan National University, Hanyang University, Kookmin University, Samsung Electronics, LG Electronics, LS Group, SK Planet, Encore, KB Securities, SK Telink, Hyundai Motor Group Innocean, Koscom, Naver NIT Service, Art Center Nabi, Bank of Korea, Korea Institute of Industrial Technology Evaluation and Planning, etc.

Recommended for
these people

Who is this course right for?

  • For those of you who are curious about payment integration in Django

  • Even after looking at the official import documentation, those who are having difficulty connecting the service

  • Those who have learned the basics of Django and are looking for a new challenge

Need to know before starting?

  • Python Language Fundamentals (Functions, Classes, Decorators)

  • Web Frontend JavaScript Basics (Functions, Event Handling)

Hello
This is

2,985

Learners

144

Reviews

933

Answers

4.7

Rating

5

Courses

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

대외 활동

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

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

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

Curriculum

All

56 lectures ∙ (5hr 28min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

9 reviews

5.0

9 reviews

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

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

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

    • paichai17님의 프로필 이미지
      paichai17

      Reviews 2

      Average Rating 5.0

      5

      96% enrolled

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

      • powernt님의 프로필 이미지
        powernt

        Reviews 3

        Average Rating 5.0

        5

        100% enrolled

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

        • paichai17

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

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

        Reviews 4

        Average Rating 5.0

        5

        100% enrolled

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

        • bluebamus님의 프로필 이미지
          bluebamus

          Reviews 19

          Average Rating 5.0

          5

          100% enrolled

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

          • 이진석
            Instructor

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

        $42.90

        pyhub's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!