Làm thế nào để biết nếu một đơn đặt hàng được thanh toán? Khi mà bang bang Cameron đang xử lý thì có phải thế nào?


8

Tôi đang chạy Magento 1.6.2.

Tôi cần xác định nếu một đơn đặt hàng được thanh toán. Nếu có, tôi tạo một số dữ liệu XML để xuất. Có nhiều trường hợp trong quy trình đặt hàng / thanh toán / giao hàng Magento.

Dự đoán đầu tiên của tôi là khi "trạng thái" thuộc tính của đơn hàng được định nghĩa là "xử lý", nhưng tôi không chắc chắn vì số lượng lớn khả năng trong quy trình làm việc này. Có thể trường hợp này không bao gồm tất cả các khả năng ...

Tôi có đúng với điều đó không?


Kiểm tra nếu có một hóa đơn được tạo ra cho đơn đặt hàng.
Marius

Chỉ cần hóa đơn? Không có thứ gì khác? Tôi ngạc nhiên, dường như quá dễ dàng để trở thành aha thực sự. Cảm ơn sự giúp đỡ của bạn!
guillaume_shm

Thông thường sự hiện diện của một hóa đơn có nghĩa là nó đã được thanh toán.
Marius

Điều đó là không đủ trong mọi trường hợp, vì một hóa đơn có thể không được thanh toán. Và có thể một hóa đơn không bao gồm tất cả các mặt hàng đã đặt hàng, vì vậy có thể có nhiều hơn một hóa đơn.
Andreas von Studnitz

Kiểm tra trạng thái có thể làm tùy thuộc vào quy trình công việc của bạn, nhưng trạng thái "xử lý" cũng có thể có nghĩa là đơn hàng đã được gửi, nhưng chưa được thanh toán. Tôi sẽ không sử dụng nó.
Andreas von Studnitz

Câu trả lời:


22

Bạn có thể gọi $order->getBaseTotalDue(). Nếu đây là 0, đơn hàng được thanh toán đầy đủ.


Cảm ơn Andreas, câu trả lời này dường như là người phù hợp nhất với câu trả lời của tôi.
guillaume_shm

1

Xem câu trả lời của Andreas về cách xác định xem còn gì để trả không. Để trả lời câu hỏi khác của bạn - sử dụng trạng thái == xử lý là không đủ tốt. Một thử nghiệm nhanh để chỉ ra điều này là gửi một đơn đặt hàng chưa thanh toán - điều này cũng sẽ chuyển một đơn đặt hàng sang trạng thái xử lý mặc dù đơn hàng vẫn chưa được thanh toán.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.