gpt4 book ai didi

php - 从 Joomla 中的回调 URL 更新 MySQL 表

转载 作者:行者123 更新时间:2023-11-30 23:21:02 25 4
gpt4 key购买 nike

我的网站是建立在 joomla 2.5.8 之上的。该网站使用支付网关处理支付。

如您所知,joomla 具有这种 URL 结构(没有 SEF):

index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway

现在,支付网关提供商要求我向他们发送一个回调 URL 以将交易值传递给它,并让我使用基于此 URL 值的交易信息更新 MySQL 数据库表。

问题在于支付网关提供商将在回调 URL 中使用这些值:

?Response=1&status=10&code=123456-123456&token=f0021bfa-7ae4-48af-b4a2-d08d7a647b5e&lang=en&ignore=1

我的组件用作回调 URL 的链接应该是这样的:

index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway

因此,支付提供商拒绝在他们的系统中设置此回调 URL,因为它包含“?”在里面。他们必须使用这个“?”在回调 URL 中传递交易值。

因此,如果他们接受我给他们的回调,回调 URL 将如下所示:

index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway?Response=1&status=10&code=123456-123456&token=f0021bfa-7ae4-48af-b4a2-d08d7a647b5e&lang=en&ignore=1

正如您在上面注意到的那样,回调 URL 将包含两个“?”问号。

到目前为止我做了什么:我安装了一个组件,可以在我的 Joomla 网站中对任何非 SEF URL 进行 SEF。所以我将此链接 (index.php?option=com_componentname&controller=order&task=notify&gateway=paymentgateway) 设置为 (payment-status),然后将其发送回支付提供商。但是,回调 URL 中传递的值不会更新我的数据库表。

所以在付款过程中一切正常。一旦我达到获取参数值来更新我的数据库的程度,它就不会了。我该如何解决这个问题?

BR,

最佳答案

您需要在您的组件中添加一个菜单项,以便为回调页面制作一个菜单项。然后您可以使用内置的 Joomla SEF URL 作为回调 URL。由于它是一个菜单项,它将传递所需的正确参数以及您的支付处理器发回的附加值。

如果您不熟悉组件的菜单项,您可以在此处查看 - show joomla component in menu item type

关于php - 从 Joomla 中的回调 URL 更新 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15449256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com