増分注文 ID はすべての顧客/注文/Web サイト間で一意ですか?
-
13-12-2019 - |
質問
私の質問は、増分注文 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つの注文を行うことはできません。