Tôi đang xây dựng một tính năng thanh toán đăng ký ngay bây giờ và tôi đang cố gắng xác định xem việc sử dụng tính năng Hồ sơ định kỳ của Magento có hợp lý hay không.
Tất nhiên, tôi rất thích sử dụng tính năng cốt lõi, tôi muốn có thể tận dụng chức năng cốt lõi bất cứ khi nào có thể, nhưng có một số lý do mà tôi không nghĩ nó có ý nghĩa.
Yêu cầu:
- Chúng tôi muốn các sản phẩm có thể được mua thường xuyên hoặc trên cơ sở đăng ký, rất giống với cách đăng ký của Amazon hoạt động.
- Chúng tôi muốn cho phép tất cả các giao dịch mua đăng ký diễn ra mỗi tháng, mỗi 2 tháng, ..., 6 tháng. Nói cách khác, chúng tôi không cần thời hạn thanh toán chi tiết xác định cho mỗi sản phẩm hoặc danh mục hoặc bất cứ điều gì.
Các vấn đề với Hồ sơ định kỳ của Magento
- Đối với người mới bắt đầu, chúng không được phát hành như một tính năng ổn định, mà là bản beta.
- Bạn không thể thanh toán với các sản phẩm thông thường và các sản phẩm đăng ký trong cùng một giỏ hàng. Tôi thực sự không thấy bất kỳ lý do tuyệt vời cho giới hạn này. Tôi thực sự nhận thấy một trang web Magento đẹp gần đây có đăng ký mà không bị hạn chế này và nó khá gọn gàng: http://www.harrys.com/ (CẬP NHẬT: Tôi nghĩ harrys đã ra mắt trên Magento vào tháng 3 năm 2013, nhưng không còn trên Magento nữa ).
- Một sản phẩm nhất định phải là sản phẩm đăng ký (sản phẩm danh nghĩa) hoặc sản phẩm thông thường. Vì vậy, bạn không thể dễ dàng có một trang sản phẩm với cả nút Mua ngay và nút Đăng ký trên đó.
- Tôi thực sự không hiểu tại sao họ có hồ sơ định kỳ được xác định ở cấp độ mỗi sản phẩm. Đó không phải là thứ tôi cần trong trường hợp của mình và tôi tưởng tượng đó không phải là trường hợp sử dụng phổ biến.
- Các phương thức vận chuyển dường như có một số trục trặc với các sản phẩm danh nghĩa - chưa thực sự đào sâu vào nó quá sâu nhưng nó chỉ làm tăng thêm sự điên rồ.
- Nó dường như không được xây dựng với ý tưởng rằng các dịch vụ thanh toán đăng ký (như Recurly, Chargeify, Braintree) sẽ có sẵn để xử lý phần thịt của cấu hình / xử lý đăng ký. Có lẽ tôi hoàn toàn sai về điểm đó vì nó được xây dựng dựa trên tính năng định kỳ của PayPal.
Vì vậy, cách tiếp cận mà tôi muốn thực hiện:
- Có một tùy chọn tùy chỉnh có sẵn cho mọi sản phẩm cho họ để xác định xem họ có muốn đăng ký hàng tháng, hai tháng một lần, v.v.
- Trong bộ quan sát sales_order_place_after, hãy kiểm tra bất kỳ mục nào trong giỏ hàng với tùy chọn tùy chỉnh đăng ký và tạo đăng ký cho chúng
- Lưu trữ ID đăng ký trong bảng sales_flat_order_item.
- Nghe trên webhook Braintree để biết chi phí đăng ký, tra cứu mục đặt hàng theo ID đăng ký, tạo hóa đơn đặt hàng cho sản phẩm được đề cập, với cùng phương thức giao hàng và số tiền thuế.
Tôi hy vọng rằng không có thứ gì to lớn mà tôi đang thiếu ở đây.