質問

私の質問は、増分注文 ID はどの程度固有のものですか?私が使用している支払いゲートウェイでは、購入を試みるたびに一意の注文 ID が必要です。

そこで、顧客 A が購入しようとしたが、取引が拒否されたとします。

Order ID: 1, Increment Order ID: 100001

再度購入しようとすると、 Increment Order なる 100002, 、それともまだですか? 100001?もしそうなら、それを更新/増分するにはどうすればよいですか?

また、それは顧客間で一意になるでしょうか?するだろうか Order ID: 2 一つ持っている Increment Order ID: 100001?それともすべての注文にわたって一意になるのでしょうか?

役に立ちましたか?

解決

これは世界的に一意であり、データベース レベルでも保証されています。

これはからのコードです app/code/core/Mage/Sales/sql/sales_setup/install-1.6.0.0.php ここで順序テーブルが作成されます。

->addIndex(
    $installer->getIdxName(
        'sales/order',
        array('increment_id'),
        Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE
    ),
    array('increment_id'), array('type' => Varien_Db_Adapter_Interface::INDEX_TYPE_UNIQUE))

また、すでにデータベースにある中止された注文の後に顧客が再度注文しようとすると、新しい注文が作成されます。

他のヒント

注文 (および請求書、出荷、クレジットノート) 番号は、アプリケーション全体で一意です。
ただし、さまざまな理由により、それらは連続しない場合があります。
たとえば、ストア ビュー ID は注文番号のプレフィックスとして使用されます。
したがって、ID 1 のストア ビューから注文すると、番号 100001 が取得されます。
次に、ID 2 のストア ビューからの次の注文の場合、番号 200001 が取得されます。
ストア ビュー 1 からの次の注文には番号 100002 が付いている可能性がありますが、支払いの間にいくつかの支払いが失敗した場合 (または、一部のカートが放棄され、特定の条件が満たされた場合)、番号はさらに大きくなる可能性があります。
また、異なるお客様から同じ番号で2つの注文を行うことはできません。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top