Является ли добавочный идентификатор заказа уникальным для всех клиентов/заказов/веб-сайтов?
-
13-12-2019 - |
Вопрос
Мой вопрос: насколько уникален идентификатор дополнительного заказа?Платежный шлюз, который я использую, требует уникальный идентификатор заказа для каждой попытки покупки.
Допустим, клиент А пытается совершить покупку, но его транзакция отклонена.
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))
Кроме того, если клиент попытается сделать заказ еще раз после отмены заказа, который уже есть в базе данных, будет создан новый заказ.
Другие советы
Номера заказов (а также счетов, отгрузок и кредит-нот) уникальны во всем приложении.
Но они могут быть не последовательными по разным причинам.
Например, идентификатор представления магазина используется в качестве префикса для номеров заказов.
Таким образом, если вы заказываете из представления магазина с идентификатором 1, вы получите номер 100001.
Тогда, если следующий заказ будет сделан из представления магазина с идентификатором 2, вы получите номер 200001.
Следующий заказ из представления магазина 1 может иметь номер 100002, но он может иметь и большее число, если в промежутке между заказами не удалось выполнить какие-либо платежи (или если некоторые корзины были брошены и соблюдены некоторые определенные условия).
Также у вас не может быть 2 заказов от разных клиентов с одним и тем же номером.