Pergunta

A minha pergunta é, como único é o incremental ordem de Id?O gateway de pagamento que eu estou usando requer uma ordem de Id exclusivo para cada compra tentativa.

Então, digamos que Um cliente tenta comprar, mas sua transação é negado.

Order ID: 1, Increment Order ID: 100001

Quando ele tenta comprar novamente, a Increment Order Id tornar 100002, ou será ainda 100001?E se sim, como faço para atualizar/incrementá-lo?

Também, será que vai ser exclusivo entre os clientes?Será que um Order ID: 2 ter um Increment Order ID: 100001?Ou será que vai ser única em todas as ordens?

Foi útil?

Solução

Ele é globalmente único, o que é ainda assegurada no nível de banco de dados.

Este é o código de app/code/core/Mage/Sales/sql/sales_setup/install-1.6.0.0.php onde a tabela de ordem é criado:

->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))

Além disso, se um cliente tenta ordem novamente depois de abortada a ordem que está já na base de dados, uma nova ordem será criado.

Outras dicas

A ordem (e nota fiscal, envio, creditnote) os números são únicos em todo o aplicativo.
Mas eles não podem ser consecutivos por várias razões.
Por exemplo, a vista de arquivo de id é utilizado como prefixo para os números de ordem.
Então, se você ordem de vista de arquivo com o id 1, você vai obter o número 100001.
Então se a seguinte ordem de vista de arquivo com a identificação de 2, você vai obter o número 200001.
A seguinte ordem de vista de arquivo 1 pode ter o número 100002, mas podem ter um número maior se alguns pagamentos falha entre (ou se alguns carros foram abandonados e alguns determinadas condições sejam atendidas).
Além disso, você não pode ter 2 ordens de clientes diferentes com o mesmo número.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top