我是PrestaShop的开发支付插件,是否有办法为每个付款请求获取唯一编号。现在我可以使用购物车ID,但这是不安全的,因为消费者可能要求价格为20美元的产品,但要支付10美元。 Prestashop为每个请求提供不同数量的功能。我搜索解决方案没有成功,对不起,如果这个问题重复,我很抱歉。
感谢您的帮助! :)干杯!
答案 0 :(得分:0)
有很多方法可以生成唯一编号。您可以按照说明使用购物车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());
祝你好运