增量订单Id在所有客户/订单/网站中是否唯一?
-
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))
此外,如果客户在已在数据库中的中止订单后再次尝试订购,则将创建新订单。
其他提示
订单(和发票,装运,creditnote)编号在整个应用程序中都是唯一的。
但由于各种原因,它们可能不是连续的。
例如,商店视图id用作订单号的前缀。
因此,如果您使用id1从商店视图订购,您将获得数字100001。
然后,如果下一个订单来自id为2的商店视图,您将获得数字200001。
来自商店视图1的下一个订单可能具有数字100002,但如果某些付款之间失败(或者某些购物车被放弃并且满足某些条件),则可能具有更大的数字。
您也不能有两个来自不同客户的相同数量的订单。