Apa definisi dari status pesanan? ATAU: Di mana saya harus mengintegrasikan status pesanan saya?

25

Saya ingin mendefinisikan beberapa status pesanan seperti "pembayaran kartu kredit diterima", pertanyaannya adalah status apa yang mereka miliki. Apakah ada definisi untuk masing-masing status bawaan?

Sunting: Sepertinya saya mencampuradukkan "status" dan "status", saya harap ini menjadi jelas dari konteksnya. Saya menyalahkan terjemahan Magento Jerman (Negara => Status, Status => Zustand)

Fabian Schmengler
sumber

Jawaban:

42

Menurut "The Definitive Guide to Magento" [1] , status pesanan didefinisikan sebagai berikut:

  • Pending: Pending order adalah pesanan baru yang belum diproses. Biasanya, pesanan ini harus ditagih dan dikirim.
  • PayPal Tertunda: Pesanan PayPal tertunda adalah pesanan baru yang belum dihapus oleh PayPal. [...]
  • Pemrosesan: Pemrosesan berarti bahwa pesanan telah ditagih atau dikirim, tetapi tidak keduanya.
  • Lengkap: Pesanan yang ditandai selesai telah ditagih dan telah dikirim.
  • Dibatalkan: Pesanan yang dibatalkan harus digunakan jika pesanan dibatalkan atau jika pesanan belum dibayar.
  • Tertutup: Pesanan tertutup adalah pesanan yang telah memiliki memo kredit yang diberikan kepadanya dan pelanggan telah dikembalikan untuk pesanan mereka.
  • Ditunda : Pesanan yang ditahan harus ditangguhkan sebelum melanjutkan tindakan lebih lanjut.

Karenanya negara "pembayaran kartu kredit yang diterima" akan menjadi milik processing, asalkan pesanan belum dikirim.


Aligent Consulting [2] membuat diagram alur untuk status pesanan:

aliran status pesanan magento


Sumber:

  1. Adam McCombs dan Robert Banh: "The Definitive Guide to Magento", Apress, 2009 (ISBN 1430272287, 9781430272281)
  2. https://twitter.com/aligent/status/509487359172177921/photo/1
Fabian Schmengler
sumber
Saya setuju untuk menjawab pertanyaan sendiri - tapi sepertinya ini adalah penyemaian berkualitas rendah. Jawaban salin + rekat yang dapat dengan mudah ditemukan online tidak benar-benar menambah banyak nilai ke situs ini.
Ben Lessani - Sonassi
4
@sonassi: Saya menghargai pendapat Anda dan tidak akan mengklaim bahwa pertanyaan itu berkualitas tinggi, tetapi saya mencari sementara untuk ini dan belum menemukan pertanyaan terkait di sini atau di SO, jadi itu mungkin membantu orang lain di masa depan.
Fabian Schmengler
Saya menemukan ini sangat membantu. kadang-kadang Anda menemukan banyak hal lebih mudah di stack daripada di google, karena stack sudah disaring sebelumnya, dibandingkan dengan google. dan jika itu penyemaian, maka jadilah itu. Mereka memberikan nilai. Saya sangat setuju dengan seeding.
ahnbizcad
2

Status urutan yang berbeda didefinisikan dalam Mage_Sales_Model_Order:

const STATE_NEW             = 'new';
const STATE_PENDING_PAYMENT = 'pending_payment';
const STATE_PROCESSING      = 'processing';
const STATE_COMPLETE        = 'complete';
const STATE_CLOSED          = 'closed';
const STATE_CANCELED        = 'canceled';
const STATE_HOLDED          = 'holded';
const STATE_PAYMENT_REVIEW  = 'payment_review';
Stefan
sumber
+1 Apakah ini bisa ditimpa? Apakah ada cara untuk mendapatkan ini dari api sisanya? mis. / config / sales / possibleStatusList?
Mzn
1
Timpa konstanta? Mengapa Anda ingin menimpa mereka? Anda dapat menentukan status pesanan baru di backend (Sistem> Status Pesanan). Jika Anda bermaksud 'mengubah status pesanan', ya ini mungkin. Dan ya, Anda juga bisa mendapatkan status pesanan dari API (metode sales_order.info atau metode sales_order.list)
Stefan
ya saya maksud mengubah daftar bukan konstanta. Anda tahu bagaimana saya bisa mengakses sales_order.info di api sisanya? apa titik akhirnya? saya mencoba / salesorders / info relative url
Mzn
Seharusnya tidak sulit, lihat di sini untuk akses secara umum: magento.stackexchange.com/a/33187/6291 dan info tentang sales_order.info di sini: devdocs.magento.com/guides/m1x/api/soap/sales/salesOrder/ ... Semoga beruntung!
Stefan
Terima kasih atas jawabannya tetapi api SOAP benar-benar berbeda dari api REST. Untuk beberapa alasan, saya tidak dapat menemukan yang Anda bicarakan di dokumen api REST: devdocs.magento.com/swagger/index.html Dapatkah Anda melihatnya di sana? Mungkin itu tidak termasuk dalam api REST?
Mzn
1

Sebenarnya karena 1,5 status pesanan dapat didefinisikan di bagian Admin dan xml bukanlah cara yang disukai untuk menambah / mengubah status atau status. Harap buat perbedaan antara status dan status. Status sedang 'diproses' adalah 'pembayaran kartu kredit diterima'

Pembaruan : Status pesanan dapat dibuat dan dimodifikasi di admin / sales_order_status /, tidak perlu melakukan apa pun dalam XML Anda dapat menetapkan status hanya jika pesanan dalam keadaan yang sesuai. Secara default, order masuk ke status Pemrosesan saat ditagih atau dikirim.

Petar Dzhambazov
sumber
Apakah ini dimaksudkan sebagai komentar atas jawaban Sebastian Lind? Adapun negara dan status, sepertinya saya mencampurnya (lagi ...), terima kasih atas koreksinya.
Fabian Schmengler
-1

Anda dapat menghubungkan status baru Anda ke status pesanan yang ada, atau Anda membuatnya sepenuhnya baru. Cukup modifikasi file konfigurasi modul penjualan sebagai berikut (app \ code \ core \ Mage \ Sales \ etc \ config.xml) dengan status baru Anda:

<?xml version="1.0"?>
<config>
  <!-- ... -->
  <global>
    <sales>
      <order>
        <statuses>
          <new_status>
            <label>New Status</label>
            <description>Your Description here</description>
          </new_status>
        </statuses>
        <states>
          <new>
            <label>New</label>
            <statuses>
              <new_status/>
            </statuses>
            <visible_on_front/>
          </new>
        </states>
      </order>
    </sales>
  </global>
</config>

Refresh cache, selesai.

Sebastian Lind
sumber
2
Tidak ada yang cocok dengan jawaban ini, saya khawatir.
patokan
1
Jangan edit inti Magento. Alih-alih membuat konfigurasi di modul Anda sendiri. Magento akan menggabungkan file konfigurasi Anda dan inti.
Jacques