質問

これが Magento の注文処理のロジックに反しているかどうかは、まだ完全には解明されていません...

顧客は多数の電話注文を受け、サードパーティのポータルまたはハンドヘルド PDQ 端末経由で支払いを受けます。その後、支払い方法なしで Magento で注文が発生します。

支払い方法のない注文では、請求書を作成できないようですが...?

このようなタイプの注文に対して請求書を作成する機能を実装するための推奨されるアプローチは何ですか。使用される支払いゲートウェイから提供される拡張機能では、このようなタイプの注文を処理する方法が提供されません。

試みる余地はあるだろうか 請求書を自動生成する 支払い方法が選択されていない注文の場合、おそらく機能しますか?

それとも、注文に対していつでも手動で請求書を作成できる方法を実装することは可能でしょうか?

前もって感謝します。

役に立ちましたか?

解決

では、あなたの質問を正しく理解した場合、注文は管理インターフェイスを介してMagentoで手動で作成されるということですか?

私自身はこれを行ったことがないので、正確な詳細は言えませんが、「オフライン キャプチャ」を行う必要があると思います。

このページを参照してください: http://www.magentocommerce.com/wiki/welcome_to_the_magento_user_s_guide/chapter_8

与えられたページから:

オフラインで取得 - 請求書が送信されると、システムは支払いを取得しません。支払いはゲートウェイ経由で直接取得されると想定され、Magento 経由でこの支払いを取得するオプションはなくなります。クレジット メモを作成することはできますが、請求書を無効にするオプションはありません (注文でオンライン支払いが使用された場合でも、請求書は本質的にオフライン請求書です)。

さらに、 このブログ投稿 Inchoo では、コード経由でそれを行う方法を示しています。

完全を期すために(リンクがネットから消えてしまうので(息を呑む))、コードを次に示します。

(これは Inchoo のブログエントリであり、私自身の功績ではないことに注意してください)

多分あなたは、いくつかのカスタムスクリプトまたはCronスクリプトから請求書を作成したいと思うかもしれません。ここに非常に役立つコードの例を 1 つ示します。まず第一に、モデルの「販売/注文」に注文をロードする必要があります。これは非常に簡単です。

try {
if(!$order->canInvoice())
{
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice.'));
}
$invoice = Mage::getModel('sales/service_order', $order)->prepareInvoice();
if (!$invoice->getTotalQty()) {
Mage::throwException(Mage::helper('core')->__('Cannot create an invoice without products.'));
}
$invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_ONLINE);
$invoice->register();
$transactionSave = Mage::getModel('core/resource_transaction')
->addObject($invoice)
->addObject($invoice->getOrder());
$transactionSave->save();
}
catch (Mage_Core_Exception $e) {
}

オンラインでキャプチャのオプションが設定されていることがわかります。このオプションは、支払い方法によって異なります。一部の支払い方法は、オンラインでキャプチャをサポートし、一部はそうでないものもあります。オフラインでキャプチャを設定する場合は、次の行コードでそれを行うことができます。

$invoice->setRequestedCaptureCase(
Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE
);
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top