PrestaShop - 确认付款并接受订单

时间:2015-09-16 18:02:01

标签: php payment url-redirection prestashop-1.6 prestashop-1.5

我在presta 1.6中处理支付模块。它几乎已经完成,但我停止了订单确认步骤。如果我在validateOrder()之后重定向到确认页面,那么一切正常,订单历史显示和订单是正确的状态但是......

最后我想在外部域上使用支付网关。我想用参数重定向到url,它将包含(在令牌中编码)url,以便在成功支付的情况下支持presta但是......

当我使用url之类的订单确认时,会话已过期且购物车为空,因此订单无法确认。

  

$ success_url = PS_BASE_URI。 '为了-confirmation.php id_cart =&#39?; 。   $ id_cart。 '和ID; _module =' 。 intval($ tpg_deposit-> id)。 '和ID; _order =' 。   INTVAL($ tpg_deposit-> currentOrder);

这个网址工作正常,但只有当我不离开prestashop域名时。当我重定向到付款网页,然后通过此网址返回到presta结果presta 404错误,并且购物车为空。

  

"此页面不可用"

我错了什么?

3 个答案:

答案 0 :(得分:0)

我看到的第一件事,可能是错误的返回网址,您的版本将如下所示:

/order_confirmation.php?{parameters}

应该有类似的东西:

$success_url = $this->context->shop->getBaseUrl() . _MODULE_DIR_. $this->name . 'order_confirmation.php?{parameters}'
// will create
// http://yourdomain.com/modules/yourmodule/order_confirmation.php?{parameters}

答案 1 :(得分:0)

validateOrder()创建Order并删除Cart会话。如果您使用外部域名,请使用OrderStatus,例如“等待付款”,并在用户返回时更新。

答案 2 :(得分:0)

这可能有点晚了,但是怎么样:

$success_url = Tools::redirectLink(PS_BASE_URI . 'order-confirmation.php?id_cart=' . $id_cart . '&id;_module=' . intval($tpg_deposit->id) . '&id;_order=' . intval($tpg_deposit->currentOrder) . '&key=' . $this->context->customer->secure_key);