Getting Started with Payments in Python/Django (Feat. I'mport) - Basic Edition

Are you having trouble integrating payments into your web service? Quickly apply payments to your service using Django and I'mport.

(4.9) 12 reviews

265 learners

Level Intermediate

Course period Unlimited

Python
Python
Django
Django
Python
Python
Django
Django

Reviews from Early Learners

Reviews from Early Learners

4.9

5.0

강재구

100% enrolled

If there is Kim Young-han in Spring, it seems like there is instructor Lee Jin-seok in Janggo :)

5.0

paichai17

96% enrolled

I am a beginner developer developing a web service with Django. Ultimately, I connected Import (Port One) to the service, but since there is no documentation for Django, I paid and took the course with the last rope in my hand. I tried to pick out only the parts I needed, but as I listened to the lecture, there were so many contents that were helpful for my coding (related to shopping malls). Here are the advantages: 1. Fast progress - There is no unnecessary content, and since he types fast, there is no waiting time and he delivers only the main points well. The audio is good, and the subtitles are great. All the waiting parts are edited, so I give it a thumbs up! 2. Good code writing method - For beginner developers like me, reading the code of experts is very helpful. However, as I read, there are many times when I don't know why something was written with this intention, but it was good because I could understand all the intentions by following it one by one. 3. Code that can be used in practice - It is not an easy code that you can see anywhere, and there are many practical contents that consider security, so I think I can just copy and paste it, so it was really good. I would like to visit you once and express my gratitude since you are organizing a Python meetup in Daejeon where I live. I have already finished developing my code, but I would like to change my code to be a bit more professional, so I am planning to take a regular Django course(?). I highly recommend it. You can learn just by looking at the code.

5.0

powernt

100% enrolled

I don't usually write online, but I'm curious so I'll write a few words. Why are there no reviews for this great lecture? Haha Thanks to Mr. Lee Jin-seok, I got started with Django and am studying all the lectures you've created. Thanks to you, I was able to run a business that was almost just an idea, but now I'm running a web service. Thank you for always providing great lectures and information. Other Django lectures were also helpful, but this is the only Django lecture that I think you provide that can be used practically. I look forward to more lectures that can utilize Django. By the way, beginners in Python and Django may find it difficult, but I think they'll come back here eventually. That's what I did... If there's a discount period, it might be a good idea to purchase the lecture in advance. It's the fastest shortcut to intermediate Django...

What you will gain after the course

  • Understanding the I'mport Payment Service

  • Concise Payment Implementation Using Django and the I'mport API

  • Building Core Shopping Mall Features (Shopping Cart, etc.) Using Django

Life is short. Through Python/Django in payment integration,
lead your business to success quickly and save your time as well
. 💪

Take the course and get a PyCharm Professional coupon! 🎫

We have received sponsorship from JetBrains for a 6-month coupon so that you can continue to use PyCharm Professional (a paid tool), the optimal IDE for Django development, even after the course.

  1. During the course, we will proceed using a 1-month trial license of PyCharm Professional.
  2. 완강하지 않으셔도, 수강신청하셨다면 아래 구글폼을 통해 쿠폰 신청이 가능합니다.
    1. Application Link: https://forms.gle/mvDwLQmaCz4Z2vQD9
  3. Every Friday, we will check the applications submitted and send the coupons to the email address you provided.
  4. Please register the received coupon immediately. If you do not register it, you will no longer be able to receive license support from JetBrains.
  5. Coupon applications are limited to once per person per course.
  6. Tip: After using this coupon, if you continue with a paid JetBrains subscription on the same account, you can subscribe at a discounted price.

Note) If you are a student or teacher, you can receive a one-year license for all JetBrains tools through JetBrains' Student Support Program. If you apply for this program, you can 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 KG Inicis

While I'mport's payment API is concise and powerful, many people find it difficult to integrate into their web services. With just this one course, you will be able to integrate I'mport payments into your Django project.

I'mport 💳

Integrating payment systems into web services has long been a feature that causes us a lot of trouble. PG (Payment Gateway) companies have shown absolutely no interest in improving the development experience for payment integration.

  1. 각 PG사의 십수 년 전에 만들어진 장황한 개발문서와 노후한 PHP/JSP 샘플 코드
    • Where should I even begin to apply this to modern languages and frameworks? 😢
  2. PG사들마다 다른 프로토콜
    • If you use only one PG, it becomes a single point of failure, so if you want to use two or more PGs, you have to implement each of their different protocols? 😨

The PortOne (formerly: I'mport) service has solved those difficulties. According to Digital Times' article ""Online payment service provider I'mport surpasses 4 trillion won in cumulative transaction volume"" (September 9, 2020), companies such as Karrot Market, Millie's Library, LINE FRIENDS, ohou, Bungaejangter, and StyleShare implemented online payments using I'mport back in 2020.

The I'mport service has the following advantages.

  1. It provides a concise and clear payment API.
  2. 포트원의 단일 API만으로 국내 모든 PG사와 결제 연동이 가능합니다.
    • If the PG changes, there is no need to modify the source code; you simply need to change the settings on the PortOne admin page.
    • Applications for contracts with multiple PGs can be completed all at once through the PortOne admin page.
  3. 친절하고 자세한 개발 가이드와 여러 언어/프레임워크에 최적화된 현대화된 라이브러리가 제공됩니다.
    • Python, React, Vue, Cordova, Swift, Android, Flutter, Go, Java, etc.

Recommended for these people 🙆‍♀️

Those who want to integrate payments into their Python/Django projects

Those who want to know how to efficiently integrate payments using I'mport

Those who are looking for a new challenge after learning the basics of Django


Course Features ✨

A payment course that builds your foundation step by step.

Efficient learning presented by a Django-holic developer

Boost your understanding with two hands-on payment integration practice sessions

Increased learning convenience with videos around 10 minutes long

Korean subtitles provided for a comfortable learning environment

Lecture slide PDFs provided for learning


What you will learn 📚

1. Overview

  • Core code for I'mport payment integration, along with actual source code and demos
  • 9 Steps of the Payment Process for Portone API Integration in Django




2. Django Project Preparation

  • Django project creation and preliminary work
  • Installation guide for source code formatting utilities black and djlint
  • Installing 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 I'mport

Experience the Portone API by applying the Portone JS API and REST API to a Django project with minimal code.

  • Trying out payments using only the Portone JS API
  • Saving and retrieving payment history through the Payment model
  • Check the PortOne merchant identification code and set and load it as an environment variable
  • Verification of payment details using Portone REST API

4. accounts implementation of sign-up, login, logout, and profile

User authentication is essential for payments and payment verification. We will implement user authentication by actively utilizing Django's built-in app, django.contrib.auth.

  • Implementing user registration using UserCreationForm and CreateView
  • Implementing login using LoginView
  • Implementing logout using LogoutView
  • Implementing a profile using the login_required decorator

5. mall app - Basic Configuration

We will create product management features.

  • Product Category and Product Modeling
  • Bulk registration of over 300 products by implementing the Django custom command load_products
  • MEDIA settings for serving product photos
  • Customizing the Admin for efficient product management
  • Creating product pages for user exposure, generating thumbnail images, supporting pagination, and supporting search

6. mall app - Shopping Cart

A shopping cart function is essential for a more convenient payment process.

  • Implementing a shopping cart through the CartProduct model
  • Implementing shopping cart updates using only Django formsets without JavaScript intervention
  • Changing widget styles using the django-widget-tweaks library
  • Implementing shopping cart notifications using Bootstrap

7. mall app - Orders and Payments

This is the highlight section of this lecture.

  • Order and Payment Modeling
  • Creating orders through the shopping cart
  • Designing an abstracted model for PortOne payments: We will design an abstract model so that PortOne payments can be easily integrated into various domains through simple class inheritance.
  • Implementation of payment page, implementation of payment lookup page
  • Implementing the order list page
  • Implementing payment cancellation on the Admin page

8. mall app - Receiving payment results

The method for receiving payment results varies depending on the user's device. We will look into ways to receive payment results reliably.

  • How to support the m_redirect_url parameter for payment handling 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 failure errors

 


Expected Questions Q&A 💬

Q. Are there any environmental requirements or other precautions to consider before taking the course?

This course does not cover setting up the Python/PyCharm development environment. For setting up the development environment, please refer to the "Preview" of the development environment setup section in <Introduction to Python/Django Starting with Django Design Philosophy>.

Q. Do I need a business license for payment integration?

No. You can integrate credit card payments just by signing up for PortOne. Business registration and PG enrollment can be done after the service is implemented.

Q. Is this a course that even beginners starting Django for the first time can take?

While it won't hinder the hands-on practice of Django, having an understanding of Django's core concepts will be a great help in following the lecture.


About the Instructor ✒️

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

  • Python holic, developer with 16 years of experience in Django practice
  • Operator of the Django Q&A community Ask Company with Django/React (formerly Ask Django)
  • Daejeon <Python Sarangbang> Organizer
  • Awarded Microsoft Azure MVP (2016–2021, What is a Microsoft MVP?)
  • Seoul National University, Venture Management Interdisciplinary Program, Python/Django Lecture "Web Programming for Venture Startups" Instructor (2016/2017)
  • Fastcampus, Web Service Development Camp (Python/Django) 3rd Class Instructor (2015)
  • Lectured and consulted for numerous universities and corporations: 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 Evaluation Institute of Industrial Technology, etc.

Recommended for
these people

Who is this course right for?

  • For those who are curious about payment integration in Django

  • Those who find it difficult to integrate the service even after reading the official I'mport documentation

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

Need to know before starting?

  • Python Language Basics (Functions, Classes, Decorators)

  • Web Frontend JavaScript Basics (Functions, Event Handling)

Hello
This is pyhub

3,152

Learners

154

Reviews

934

Answers

4.8

Rating

5

Courses

Software developer passionate about Python and Django

  • Python/Django Q&A and education service, owner of Python Sarangbang

  • Python Sarangbang with Django/React Community (formerly Ask Django) Administrator (trước đây là Ask Django)

  • (Former) Microsoft Azure MVP Award Recipient (2016–2022)

External Activities

  • Offline Education: SK Telink, LS Group, Samsung Display, Pusan National University Information Technology Services, Seoul National University Venture Management Combined Major, Fast Campus Web Service Development Camp 3rd Class, etc.

  • Technical Consulting: Euclidsoft, Pusan National University, Korea Evaluation Institute of Industrial Technology (KEIT), Korea Communications Agency (KCA), etc.

I will be your Python/Django/React pacemaker. 😉

More

Curriculum

All

56 lectures ∙ (5hr 28min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

12 reviews

4.9

12 reviews

  • renine94dev1394님의 프로필 이미지
    renine94dev1394

    Reviews 2

    Average Rating 5.0

    5

    100% enrolled

    If there is Kim Young-han in Spring, it seems like there is instructor Lee Jin-seok in Janggo :)

    • 22님의 프로필 이미지
      22

      Reviews 2

      Average Rating 5.0

      5

      96% enrolled

      I am a beginner developer developing a web service with Django. Ultimately, I connected Import (Port One) to the service, but since there is no documentation for Django, I paid and took the course with the last rope in my hand. I tried to pick out only the parts I needed, but as I listened to the lecture, there were so many contents that were helpful for my coding (related to shopping malls). Here are the advantages: 1. Fast progress - There is no unnecessary content, and since he types fast, there is no waiting time and he delivers only the main points well. The audio is good, and the subtitles are great. All the waiting parts are edited, so I give it a thumbs up! 2. Good code writing method - For beginner developers like me, reading the code of experts is very helpful. However, as I read, there are many times when I don't know why something was written with this intention, but it was good because I could understand all the intentions by following it one by one. 3. Code that can be used in practice - It is not an easy code that you can see anywhere, and there are many practical contents that consider security, so I think I can just copy and paste it, so it was really good. I would like to visit you once and express my gratitude since you are organizing a Python meetup in Daejeon where I live. I have already finished developing my code, but I would like to change my code to be a bit more professional, so I am planning to take a regular Django course(?). I highly recommend it. You can learn just by looking at the code.

      • rulesgyu5501님의 프로필 이미지
        rulesgyu5501

        Reviews 2

        Average Rating 4.0

        5

        100% enrolled

        • lkh60357694님의 프로필 이미지
          lkh60357694

          Reviews 4

          Average Rating 5.0

          5

          100% enrolled

          This is my first time with payments, but I'm learning a lot about how to implement it.

          • powernt2241님의 프로필 이미지
            powernt2241

            Reviews 3

            Average Rating 5.0

            5

            100% enrolled

            I don't usually write online, but I'm curious so I'll write a few words. Why are there no reviews for this great lecture? Haha Thanks to Mr. Lee Jin-seok, I got started with Django and am studying all the lectures you've created. Thanks to you, I was able to run a business that was almost just an idea, but now I'm running a web service. Thank you for always providing great lectures and information. Other Django lectures were also helpful, but this is the only Django lecture that I think you provide that can be used practically. I look forward to more lectures that can utilize Django. By the way, beginners in Python and Django may find it difficult, but I think they'll come back here eventually. That's what I did... If there's a discount period, it might be a good idea to purchase the lecture in advance. It's the fastest shortcut to intermediate Django...

            • I also really enjoyed the lecture. It's not a part-time job.

          pyhub's other courses

          Check out other courses by the instructor!

          Similar courses

          Explore other courses in the same field!

          $42.90