Triển khai thanh toán đơn giản bằng Django và API nhập
Tạo các chức năng cốt lõi của trung tâm mua sắm (giỏ hàng, v.v.) bằng Django
Cuộc sống ngắn ngủi lắm. Ngay cả khi đã tích hợp thanh toán, Python/Django vẫn là lựa chọn tốt nhất. Điều hành doanh nghiệp của bạn thành công và tiết kiệm thời gian. 💪
Tham gia khóa học và nhận phiếu giảm giá PyCharm Professional! 🎫
Chúng tôi đã nhận được phiếu giảm giá 6 tháng từ JetBrains để sử dụng PyCharm Professional (công cụ trả phí), IDE tốt nhất để phát triển Django, ngay cả sau khóa học.
Trong buổi thuyết trình, bạn sẽ sử dụng bản dùng thử 1 tháng cho PyCharm Professional.
Ngay cả khi bạn không phải là học viên chính thức, nếu bạn đã đăng ký khóa học, bạn vẫn có thể đăng ký nhận phiếu giảm giá thông qua biểu mẫu Google bên dưới.
Chúng tôi sẽ kiểm tra thông tin chi tiết về đơn đăng ký của bạn vào thứ Sáu hàng tuần và gửi phiếu giảm giá đến địa chỉ email mà bạn cung cấp.
Vui lòng đăng ký ngay bất kỳ phiếu giảm giá nào bạn nhận được. Nếu không, bạn sẽ không còn được JetBrains hỗ trợ cấp phép nữa.
Mỗi người chỉ được phép đăng ký phiếu giảm giá một lần cho mỗi lớp học .
Mẹo: Sau khi sử dụng phiếu giảm giá này, bạn có thể tiếp tục đăng ký JetBrains với mức giá ưu đãi bằng cùng một tài khoản.
Lưu ý: Học sinh và giáo viên có thể nhận được giấy phép sử dụng một năm cho tất cả các công cụ JetBrains thông qua Chương trình Hỗ trợ Học sinh JetBrains. Sau khi đăng ký chương trình, bạn sẽ nhận được giấy phép trong vòng vài ngày.
Bạn sẽ chọn mã nào?
Mã bên trái: Mã sử dụng API thanh toán PortOne
Mã bên phải: Mã mẫu JSP từ Inicis
Mặc dù API thanh toán của Import rất đơn giản và mạnh mẽ, nhiều người vẫn gặp khó khăn khi tích hợp nó vào dịch vụ web của mình. Với hướng dẫn này, bạn có thể tích hợp API thanh toán của Import vào dự án Django của mình.
Tôi nhập khẩu 💳
Việc tích hợp thanh toán vào các dịch vụ web từ lâu đã là một tính năng gây khó chịu. Các công ty PG không mấy quan tâm đến việc cải thiện trải nghiệm phát triển tích hợp thanh toán.
Các tài liệu phát triển dài và mã mẫu PHP/JSP lỗi thời được mỗi công ty PG tạo ra cách đây hơn một thập kỷ.
Bắt đầu từ đâu khi áp dụng nó vào các ngôn ngữ và khuôn khổ hiện đại? 😢
Các giao thức khác nhau cho mỗi công ty PG
Nếu tôi chỉ sử dụng một PG, nó sẽ trở thành điểm lỗi duy nhất, vậy nếu tôi muốn sử dụng nhiều hơn một PG, tôi phải triển khai các giao thức PG khác nhau cho từng PG phải không? 😨
Xác thực người dùng là bắt buộc đối với thanh toán và xác nhận. Chúng tôi triển khai xác thực người dùng bằng cách chủ động tận dụng ứng dụng mặc định của Django, django.contrib.auth.
Triển khai đăng ký thành viên bằng UserCreationForm và CreateView
Triển khai đăng nhập bằng LoginView
Triển khai đăng xuất bằng LogoutView
Triển khai hồ sơ bằng cách sử dụng trình trang trí login_required
5. Ứng dụng Mall - Cấu hình cơ bản
Hãy cùng tạo một chức năng quản lý sản phẩm.
Phân loại sản phẩm (Danh mục) và mô hình hóa sản phẩm
Đăng ký hàng loạt hơn 300 sản phẩm thông qua việc triển khai lệnh tùy chỉnh Django load_products
Thiết lập MEDIA để phục vụ hình ảnh sản phẩm
Quản trị tùy chỉnh để quản lý sản phẩm hiệu quả
Tạo trang sản phẩm để người dùng dễ dàng tiếp cận, tạo hình ảnh thu nhỏ, hỗ trợ phân trang và hỗ trợ tìm kiếm.
6. Ứng dụng Mall - Giỏ hàng
Để thanh toán thuận tiện hơn, chức năng giỏ hàng là rất cần thiết.
Triển khai giỏ hàng bằng mô hình CartProduct
Thực hiện sửa đổi giỏ hàng chỉ bằng cách sử dụng tập hợp biểu mẫu Django, không cần sự can thiệp của JavaScript.
Thay đổi kiểu tiện ích bằng thư viện django-widget-tweaks
Triển khai thông báo giỏ hàng bằng Bootstrap
7.Ứng dụng Mall - Đặt hàng và Thanh toán
Đây là phần nổi bật của bài giảng này.
Mô hình hóa đơn hàng và thanh toán
Tạo đơn hàng thông qua giỏ hàng
Thiết kế mô hình trừu tượng cho thanh toán PortOne: Hãy thiết kế một mô hình trừu tượng để bạn có thể dễ dàng đính kèm ImportPay vào nhiều miền khác nhau chỉ bằng cách kế thừa các lớp.
Triển khai trang thanh toán, triển khai trang yêu cầu thanh toán
Triển khai Trang Danh sách Đơn hàng
Thực hiện hủy thanh toán trên trang Quản trị
8. Ứng dụng Mall - Nhận kết quả thanh toán
Phương thức nhận kết quả thanh toán sẽ khác nhau tùy thuộc vào thiết bị của người dùng. Hãy cùng tìm hiểu cách đảm bảo kết quả thanh toán ổn định.
Cách hỗ trợ đối số m_redirect_url để hỗ trợ thanh toán trong môi trường iPhone/Android
Cách hỗ trợ webhooks để tích hợp thanh toán ổn định
Cách tích hợp ngrok để kiểm tra webhook:Cách xử lý các ngoại lệ DisallowedHost và lỗi xác minh CSRF
Câu hỏi dự kiến Hỏi & Đáp 💬
H. Tôi có cần thực hiện bất kỳ yêu cầu nào về môi trường hoặc biện pháp phòng ngừa nào khác trước khi tham gia khóa học không?
Bài giảng này không đề cập đến việc thiết lập môi trường phát triển Python/PyCharm. Để biết thêm thông tin, vui lòng tham khảo phần "Xem trước" của bài viết "Giới thiệu về Python/Django: Triết lý Thiết kế Django ".
H. Tôi có cần giấy phép kinh doanh để liên kết thanh toán không?
Không. Bạn có thể liên kết thanh toán bằng thẻ tín dụng chỉ bằng cách đăng ký PortOne. Đăng ký doanh nghiệp và PG có thể được hoàn tất sau khi dịch vụ được triển khai.
H. Đây có phải là khóa học mà ngay cả người mới bắt đầu học Django cũng có thể tham gia không?
Mặc dù điều này không ảnh hưởng đến việc sử dụng Django trong thực tế, nhưng sẽ rất hữu ích trong việc hiểu bài giảng nếu bạn biết các khái niệm cốt lõi của Django.
Giới thiệu Người chia sẻ kiến thức ✒️
Tôi là Jinseok Lee , một nhà phát triển phần mềm đam mê Python và Django.
Người nghiện Python, nhà phát triển Django với 16 năm kinh nghiệm thực tế
Người điều hành Ask Company với Django/React (trước đây là Ask Django), một cộng đồng hỏi đáp dành cho người dùng Django
Người chiến thắng giải thưởng Microsoft Azure MVP (2016-2021, Microsoft MVP là gì? )
Đại học Quốc gia Seoul, Chuyên ngành Quản lý Doanh nghiệp, Giảng viên Python/Django, "Lập trình Web Khởi nghiệp Doanh nghiệp" (2016/2017)
Fast Campus, Trại phát triển dịch vụ web (Python/Django) Giảng viên thứ 3 (2015)
Giảng dạy và tư vấn tại nhiều trường đại học và công ty: Đại học Quốc gia Seoul, KAIST, Đại học Quốc gia Pusan, Đại học Hanyang, Đại học Kookmin, Samsung Electronics, LG Electronics, LS Group, SK Planet, Encore, KB Securities, SK Telink, Hyundai Motor Group Innocean, Koscom, Naver NIT Service, Art Center Nabi, Ngân hàng Hàn Quốc, Viện Đánh giá và Quy hoạch Công nghệ Công nghiệp Hàn Quốc, v.v.
Khuyến nghị cho những người này
Khóa học này dành cho ai?
Bất cứ ai tò mò về tích hợp thanh toán ở Django
Những người gặp khó khăn khi liên kết dịch vụ ngay cả khi đã xem chứng từ Nhập khẩu chính thức
Bất kỳ ai đã học kiến thức cơ bản về Django và đang tìm kiếm thử thách mới
Cần biết trước khi bắt đầu?
Khái niệm cơ bản về ngôn ngữ Python (hàm, lớp, trang trí)
Khái niệm cơ bản về JavaScript giao diện người dùng web (chức năng, xử lý sự kiện)
Tôi là nhà phát triển mới bắt đầu phát triển dịch vụ web với django. Cuối cùng tôi đã liên kết iMport (Port One) với dịch vụ nhưng không có tài liệu nào cho Django nên tôi nản quá nên trả tiền và tham gia khóa học với cảm giác như đang nắm lấy sợi dây cuối cùng. Tôi cố gắng chỉ nghe những phần tôi cần, nhưng khi nghe bài giảng, tôi phát hiện ra rằng có rất nhiều nội dung hữu ích cho việc viết mã của tôi (liên quan đến trung tâm mua sắm).
1. Tiến độ nhanh
- Nó không rườm rà và anh ấy là người đánh máy nhanh nên không mất thời gian chờ đợi và anh ấy hiểu rất rõ những điểm chính. Âm thanh tốt và phụ đề tuyệt vời. Thật tốt khi chỉnh sửa tất cả các phần đang chờ đợi!
2. Cách viết code tốt
- Đối với một lập trình viên mới bắt đầu như tôi, việc đọc code của chuyên gia rất hữu ích. Tuy nhiên, khi đọc, có nhiều lúc tôi không hiểu tại sao nó lại được viết với mục đích này, nhưng thật vui khi có thể hiểu hết ý đồ khi tôi làm theo từng cái một.
3. Mã có thể sử dụng trong thực tế
- Đây không phải là một đoạn mã dễ dàng có thể nhìn thấy ở bất cứ đâu và nó có rất nhiều nội dung thiết thực có tính đến vấn đề bảo mật nên tôi nghĩ mình có thể sao chép nó nên tôi rất thích nó.
Họ đang sắp xếp một cuộc họp về Python ở Daejeon, nơi tôi sống, vì vậy tôi muốn đến thăm họ một lần và bày tỏ lòng biết ơn của mình. Mặc dù quá trình phát triển đã hoàn tất nhưng tôi muốn thay đổi mã của mình để chuyên nghiệp hơn một chút, vì vậy tôi cũng vậy. dự định tham gia các bài giảng django thường xuyên(?). Tôi đánh giá cao nó. Bạn có thể học chỉ bằng cách nhìn vào mã.
Tôi là kiểu người không hay đăng bài lên mạng, nhưng tôi thấy nó thú vị nên viết vài lời.
Tại sao không có đánh giá nào cho khóa học tuyệt vời này? cười
Nhờ Jinseok Lee mà tôi đã vào được Django và đang nghiên cứu tất cả các bài giảng của anh ấy.
Nhờ đó, tôi đã có thể tiếp tục kinh doanh dịch vụ web mà gần như vẫn chỉ là một ý tưởng.
Cảm ơn bạn đã luôn cung cấp những bài giảng và thông tin tuyệt vời.
Bài giảng Django của người khác cũng rất hữu ích.
Nó dường như là khóa học Django duy nhất có thể được sử dụng trong thực tế.
Tôi mong có thêm bài giảng về cách sử dụng Django.
Xin lưu ý rằng điều này có thể khó khăn đối với người mới bắt đầu sử dụng Python và Django, nhưng tôi nghĩ cuối cùng bạn sẽ quay lại đây lần nữa.
Đó là những gì tôi đã làm... Nếu đó là thời gian giảm giá, có lẽ bạn nên mua trước khóa học. Đây là lối tắt nhanh nhất đến trình độ trung cấp Django...
Tôi có thể tìm hiểu thông tin chung liên quan đến thanh toán bằng iamport. Trên hết, tôi nghĩ các bài giảng đều tổng hợp những điểm chính có thể áp dụng ngay vào thực tế. Chuỗi quy trình đưa sản phẩm vào giỏ hàng, thanh toán, xác minh trạng thái thanh toán và hủy đều được bao gồm. Trong số nhiều khóa học tôi đã trả tiền gần đây, đây là một khóa học đáng đồng tiền bát gạo. Tuy nhiên, trong quá trình triển khai một trung tâm mua sắm thực tế, thật đáng thất vọng khi nội dung của các bước trên trong bài giảng lại ngắn gọn và chỉ chứa những phần chính. Tôi mong muốn những bài giảng về các tình huống thực tế đa dạng hơn sẽ được bổ sung thêm. Ví dụ: việc triển khai thanh toán bởi người dùng ẩn danh là một tình huống thực sự có vấn đề. Riêng bài giảng hiện tại đã khác với các bài giảng khác, nhưng tôi hy vọng rằng nó sẽ được cập nhật từng chút một với nội dung bổ sung, khiến nó trở thành bài giảng mà tôi sẽ xem đi xem lại nhiều lần. Đó là một bài giảng mà tôi rất muốn giới thiệu cho những người xung quanh.
Cảm ơn bạn đã xem xét của bạn.
Do việc triển khai giỏ hàng/thanh toán hiện tại được thiết kế để có mối quan hệ khóa ngoại với mô hình Người dùng đăng nhập, nên người dùng phải đăng nhập. Bạn đã đề cập đến "thanh toán bởi người dùng ẩn danh" Tôi sẽ suy nghĩ về phần này và chia sẻ kết quả.
Cảm ơn bạn rất nhiều vì đã tham gia tích cực vào bài giảng. 👍