我如何为每个新的付款请求获得不同的唯一编号



我是PrestaShop的开发支付插件,有没有办法为每个付款请求获取唯一编号。现在我可以使用购物车 ID,但这不安全,因为消费者可能会要求价格为 20 美元但支付 10 美元的产品。Prestashop为每个请求提供不同数量的功能。我为此寻找解决方案但没有成功,如果这个问题重复,我很抱歉。

感谢您的帮助! :)干杯!

有很多方法可以生成唯一编号。您可以按照您所说的使用购物车 ID。您可以将其与付款日期连接起来。例如,购物车 ID = 1 付款日期 2017-01-01 00:12:00,结果编号将为120170101001200。

无论如何,ps_order_payment表在您插入表后都有一个唯一的 id。

Prestashop使用函数generateReference生成参考编号。它调用:

Tools::passwdGen(9, 'NUMERIC')

其中第一个参数是长度和第二个类型。这不太可能,但此函数可以生成重复的结果。这就是为什么Prestashop检查它是否独特的原因:

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

祝你好运

最新更新