Bagaimana cara mengetahui apakah pesanan telah dibayarkan? Kapan "status" sedang "diproses"?


8

Saya menjalankan Magento 1.6.2.

Saya perlu menentukan apakah pesanan telah dibayarkan. Jika ya, saya menghasilkan beberapa data XML untuk ekspor. Ada banyak kasus dalam alur kerja pesanan / pembayaran / pengiriman Magento.

Dugaan pertama saya adalah ketika atribut "state" dari order didefinisikan sebagai "processing", tapi saya tidak yakin karena banyaknya kemungkinan dalam alur kerja ini. Mungkin kasus ini tidak mencakup semua kemungkinan ...

Apakah saya benar dengan itu?


Periksa apakah ada faktur yang dihasilkan untuk pesanan.
Marius

Faktur saja? Tidak ada barang lain? Saya terkejut, sepertinya terlalu mudah untuk menjadi nyata aha. Terima kasih untuk bantuannya!
guillaume_shm

Biasanya kehadiran faktur berarti sudah dibayar.
Marius

Itu tidak cukup dalam semua kasus, karena faktur dapat dibayar. Dan mungkin saja faktur tidak mencakup semua barang yang dipesan, jadi mungkin ada lebih dari satu faktur.
Andreas von Studnitz

Memeriksa status dapat dilakukan tergantung pada alur kerja Anda, tetapi status "pemrosesan" juga dapat berarti bahwa pesanan dikirim, tetapi belum dibayar. Saya tidak akan menggunakannya.
Andreas von Studnitz

Jawaban:


22

Anda bisa menelepon $order->getBaseTotalDue(). Jika ini 0, pesanan dibayar penuh.


Terima kasih Andreas, jawaban ini sepertinya yang paling cocok dengan jawaban saya.
guillaume_shm

1

Lihat jawaban Andreas tentang cara menentukan apakah masih ada yang tersisa untuk dibayar. Untuk menjawab pertanyaan Anda yang lain - menggunakan status == pemrosesan tidak cukup baik. Tes cepat untuk menunjukkan ini adalah untuk mengirimkan pesanan yang belum dibayar - ini juga akan memindahkan pesanan ke status pemrosesan meskipun pesanan masih belum dibayar.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.