Chúng tôi đang sử dụng Magento EE 1.13.0.2 với phương thức thanh toán Tiêu chuẩn Thanh toán Trang web PayPal . Thật không may, không thể đặt trạng thái đơn hàng cho các đơn đặt hàng PayPal đã thanh toán ở mặt sau.
Chúng ta cần đặt trạng thái đơn hàng tùy chỉnh khi đơn hàng đã được thanh toán thành công (và không phải một phần). Hướng dẫn sửa đổi trạng thái đơn hàng PayPal dường như đã lỗi thời, sai hoặc xấu.
Từ những gì tôi thu thập được:
- các cập nhật thanh toán sẽ được xử lý bởi PayPal IPN.
- Có một phương thức
Mage_Paypal_Model_Ipn::_registerPaymentCapture()
chịu trách nhiệm cho "Quá trình thanh toán đã hoàn thành (toàn bộ hoặc một phần)". - Trong
Mage_Paypal_Model_Ipn::_registerTransaction()
yêu cầu từ PayPal được phân tích và trạng thái thanh toán được so sánh vớiMage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED
.
Thành thật mà nói tôi không biết phải làm gì với thông tin này. Tôi có thể viết lại Mage_Paypal_Model_Ipn::_registerTransaction()
và chỉ cần thêm mã của tôi:
// paid
case Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED:
$this->_registerPaymentCapture(true);
// my code here
break;
Tất nhiên, một người quan sát sự kiện (ví dụ: đối với một trong các sự kiện trạng thái đơn hàng hoặc đơn hàng) sẽ đẹp hơn nhiều nhưng tôi không chắc có cách nào đáng tin cậy 100% để bắt sự kiện một lần đó khi đơn hàng được thanh toán hoàn toàn qua PayPal .
Có ý kiến gì không?
Cập nhật
Chúng tôi đã chọn sửa đổi dòng trạng thái đơn hàng của mình và không cần sửa đổi trạng thái nữa. Tôi sẽ để câu hỏi mở một thời gian trong trường hợp ai đó muốn trả lời nó.