0

Я работаю над модулем оплаты в presta 1.6. Это почти сделано, но я остановился на этапе подтверждения заказа. Если я перенаправляюсь на страницу подтверждения сразу после validateOrder(), тогда все работает, отображает историю заказов и порядок в правильном состоянии, но ...PrestaShop - подтвердить оплату и принять заказ

Наконец, я хочу использовать платежный шлюз для внешнего домена. Я хочу перенаправить URL-адрес с параметрами, он будет содержать (закодированный в токене) URL-адрес назад в случае успешной оплаты, но ...

, когда я использую URL-адрес, например, подтверждение заказа, поэтому заказ не может быть подтвержден.

$ success_url = PS_BASE_URI. 'order-confirm.php? id_cart ='. $ id_cart. '&id; _module ='. intval ($ tpg_deposit-> id). '&id; _order ='. intval ($ tpg_deposit-> currentOrder);

Этот URL-адрес работает нормально, но ТОЛЬКО, когда я не покидаю домен prestashop. Когда я перенаправляюсь на веб-страницу платежа, то назад к presta по этому URL-адресу возникает ошибка 404, а корзина пуста.

"Эта страница не доступна"

Что я не так?

ответ

0

первое, что я вижу, возможно, неправильно возвратного URL, ваша версия будет выглядеть так:

/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} 
0

The validateOrder() создать порядок и удалить Посещение корзины. Если вы используете внешний домен, используйте OrderStatus, например «Ожидающий платеж», и обновите его, когда пользователь вернется.

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); 
Смежные вопросы