2017-01-20 17 views
0

Я разрабатываю платный плагин для PrestaShop, есть ли способ получить уникальный номер для каждого платежного запроса. Теперь я могу сделать с идентификатором корзины, но это небезопасно, потому что потребитель может сделать запрос на продукт с ценой 20 $, но заплатить 10 $. Prestashop имеют функциональность для разных номеров для каждого запроса. Я ищу решение для этого без успеха, извините, если этот вопрос повторяется.Как получить уникальный уникальный номер для каждого нового запроса платежа?

Спасибо за помощь! :) Приветствия!

ответ

0

Существует множество способов создания уникального номера. Вы можете использовать идентификатор корзины, как указано. Вы можете связать его с датой платежа. Например, cart ID = 1 дата платежа 2017-01-01 00:12:00, номер результата будет 120170101001200.

В любом случае, ps_order_payment таблица имеет уникальный идентификатор после того, как вы вставляете на нее.

Prestashop использует функцию generateReference для создания ссылочного номера. Он вызывает:

Tools::passwdGen(9, 'NUMERIC') 

где первый аргумент - длина и второй тип. Это маловероятно, но эта функция может генерировать дублированные результаты. Вот почему Prestashop проверить, если он уникален:

do { 
     $reference = Order::generateReference() 
} while (Order::getByReference($reference)->count()); 

Удачи