我的问题是,增量订单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,但如果某些付款之间失败(或者某些购物车被放弃并且满足某些条件),则可能具有更大的数字。
您也不能有两个来自不同客户的相同数量的订单。

许可以下: CC-BY-SA归因
scroll top