我是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());
祝你好运