강의

멘토링

로드맵

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,979

Learners

143

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

  • 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.

      • 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...

        • 22

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

      • 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.

        • bluebamus님의 프로필 이미지
          bluebamus

          Reviews 19

          Average Rating 5.0

          5

          100% enrolled

          I was able to learn the overall contents related to payment using iamport. Above all, I think the lectures have incorporated the key points that can be applied directly to the actual work well. The series of processes of putting a product in the shopping cart, paying, verifying the payment status, and canceling it are well covered. Among the many lectures I have paid for recently, this was a lecture that I did not regret spending money on. However, in terms of implementing an actual shopping mall, I felt that the contents of the above steps covered in the lectures were concise and only included the key parts, which was disappointing. I wish there had been more lectures on various situations that would occur in the actual work. For example, implementing payment by anonymous users is a really worrisome scenario. The current lecture alone is different from other lectures, but I hope that it will be updated with supplementary contents added little by little so that it will become a lecture that I visit many times. It was a lecture that I would actively recommend to people around me.

          • pyhub
            Instructor

            Thank you for your review. The current cart/payment implementation is designed to have a foreign key relationship with the login User model, so you must be logged in. I will think about the "anonymous user payment" part you mentioned and share the results. Thank you so much for actively participating in the lecture. 👍

        Limited time deal ends in 6 days

        $33.00

        23%

        $42.90

        pyhub's other courses

        Check out other courses by the instructor!

        Similar courses

        Explore other courses in the same field!