เราใช้Magento EE 1.13.0.2กับวิธีการชำระเงินผ่านเว็บไซต์ PayPal แบบมาตรฐาน น่าเสียดายที่ไม่สามารถกำหนดสถานะการสั่งซื้อสำหรับคำสั่งซื้อ PayPal ที่ชำระเงินในส่วนท้ายได้
เราจำเป็นต้องตั้งค่าสถานะคำสั่งซื้อที่กำหนดเองเมื่อชำระเงินเรียบร้อยแล้ว (ไม่ใช่บางส่วน) แบบฝึกหัดในการแก้ไขสถานะคำสั่งซื้อของ PayPal ดูเหมือนจะล้าสมัยผิดพลาดหรือน่าเกลียด
จากสิ่งที่ฉันรวบรวม:
- การปรับปรุงการชำระเงินจะได้รับการจัดการโดย PayPal IPN
- มีวิธีการที่
Mage_Paypal_Model_Ipn::_registerPaymentCapture()
รับผิดชอบใน "กระบวนการชำระเงินที่เสร็จสมบูรณ์ (เต็มหรือบางส่วน)" - ใน
Mage_Paypal_Model_Ipn::_registerTransaction()
การร้องขอจาก PayPalMage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED
มีการวิเคราะห์และสถานะการชำระเงินเมื่อเทียบกับ
บอกตามตรงฉันไม่แน่ใจว่าจะทำอย่างไรกับข้อมูลนี้ ฉันอาจเขียนใหม่Mage_Paypal_Model_Ipn::_registerTransaction()
และเพิ่มรหัสของฉัน:
// paid
case Mage_Paypal_Model_Info::PAYMENTSTATUS_COMPLETED:
$this->_registerPaymentCapture(true);
// my code here
break;
แน่นอนว่าผู้สังเกตการณ์เหตุการณ์ (เช่นสำหรับหนึ่งในคำสั่งซื้อหรือเหตุการณ์สถานะคำสั่งซื้อ) จะดีกว่า แต่ฉันไม่แน่ใจว่ามีวิธีที่เชื่อถือได้ 100% ในการจับเหตุการณ์ครั้งเดียวเมื่อคำสั่งซื้อได้รับการชำระเงินอย่างสมบูรณ์ผ่าน PayPal .
ความคิดใด ๆ
ปรับปรุง
เราเลือกที่จะแก้ไขขั้นตอนการสั่งซื้อและไม่จำเป็นต้องแก้ไขสถานะอีกต่อไป ฉันจะเปิดคำถามทิ้งไว้ซักพักเผื่อว่าใครบางคนต้องการที่จะตอบคำถาม