Lần đầu tiên tôi nhận được một số thứ tự, chúng tôi đã bất ngờ và mất tinh thần cho đến khi tôi biết được chuyện gì đang xảy ra. Nó liên quan đến cách Magento phân bổ số lượng Đơn đặt hàng.
Hoàn toàn bình thường khi có một chuỗi như vậy, trước các số được phân bổ hiện tại và cũ hơn một tháng. Bí mật của nó là một khách hàng đã đăng nhập không hoàn thành đơn hàng sau một giai đoạn quan trọng nhất định, đã quay lại, đăng nhập và quyết định cuối cùng mua.
Báo giá với số Đơn đặt hàng được phân bổ sử dụng số đó cho số Đơn đặt hàng bán.
Bây giờ để giải thích.
Quy trình đặt hàng Magento tạo ra một trích dẫn lần đầu tiên một cái gì đó được thêm vào giỏ hàng.
- Đối với khách hàng của khách, báo giá này kéo dài miễn là phiên của họ chưa hết thời gian, tại thời điểm đó nó tồn tại trong cơ sở dữ liệu, nhưng không thể phục hồi được bởi khách hàng.
- Khi một khách hàng đã đăng ký đăng nhập, báo giá giỏ hàng được chỉ định id khách hàng của họ để giỏ hàng tồn tại miễn là khách hàng không làm trống nó và được khách hàng đã đăng ký truy xuất bằng cách đăng nhập vào tài khoản của họ.
Tại thời điểm này, báo giá chỉ là một Đơn đặt hàng tiềm năng . Nó không có số được chỉ định vì khách hàng không cam kết trả tiền cho nó.
Khi khách hàng nhấp vào nút Tiến hành để thanh toán, họ sẽ:
- hoặc được đăng nhập trước để bắt đầu giỏ hàng
- hoặc nếu không đăng nhập, hỏi xem họ có muốn đăng ký hoặc trả phòng với tư cách là khách không.
Điều gì sau đây là một chút quan trọng: Các khách hàng chọn đăng ký vào giỏ hàng được coi là khách hàng cho đến khi đơn hàng được hoàn thành và họ đến trang thành công, tại thời điểm tài khoản của họ được tạo và họ đã đăng nhập. vẫn là một báo giá của khách hàng với thời gian hết hàng trong giỏ hàng nếu đơn hàng chưa hoàn thành và một trang thành công được hiển thị.
Với một đơn đặt hàng thẻ tín dụng, điều sau đây xảy ra khi nhấp vào nút Đặt hàng .
- Thông tin thẻ tín dụng, thông tin địa chỉ thanh toán, tổng số giỏ hàng và thông tin đặt hàng được lắp ráp
- Số đơn đặt hàng được chỉ định cho báo giá này (
sales_flat_quote
bảng trong reserved_order_id
cột)
- Gói dữ liệu được gửi đến cổng thẻ tín dụng để ủy quyền / đầu tư tiền để thanh toán cho đơn đặt hàng.
- Bộ xử lý giỏ tín dụng quay trở lại:
- hoặc ủy quyền / thu tiền với thông tin giao dịch phù hợp sẽ được ghi lại
- hoặc từ chối thanh toán với thông tin phù hợp về lý do tại sao ủy quyền / bắt giữ bị từ chối.
- Với ủy quyền / nắm bắt thành công, báo giá được chuyển đổi thành Đơn đặt hàng và nếu đây là đăng ký giỏ hàng, tài khoản khách hàng sẽ được tạo.
Nếu giao dịch thẻ tín dụng bị từ chối đối với bất kỳ khách hàng nào bởi cổng thanh toán thẻ tín dụng và khách hàng tiếp theo đặt hàng thành công , sẽ có một sự bỏ qua trong chuỗi số Đơn đặt hàng do thanh toán bị từ chối Đơn đặt hàng được chỉ định và Đơn đặt hàng thành công sau đây được chỉ định số có sẵn tiếp theo.
Đối với giỏ hàng của khách (đơn đặt hàng của khách và đăng ký không thành công trong khách hàng giỏ hàng) vượt quá thời gian chờ phiên, số Đơn đặt hàng được bảo lưu này sẽ bị mất khi hết phiên, để lại các khoảng trống trong chuỗi Đơn hàng.
Đối với những khách hàng đã đăng nhập trước khi nhấp vào nút Tiến hành , báo giá được gán id khách hàng, vì vậy nếu họ cố gắng đặt hàng và thấy rằng nó bị từ chối, họ có thể quay lại, đăng nhập, tìm giỏ hàng vẫn có nội dung và đặt đặt hàng, đôi khi muộn hơn nhiều (dài nhất đến nay là bốn tháng). Báo giá sẽ sử dụng số Đơn đặt hàng được dành riêng được chỉ định, dẫn đến số thứ tự Đơn hàng bán hàng hiển thị trong màn hình quản lý Đơn đặt hàng của bạn.