Автор Тема: Оплата виртуального товара через webmoney  (Прочитано 1807 раз)

04 Сентябрь 2013, 03:12:51
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте! После оплаты "виртуального товара" через модуль webmoney деньги приходят, но покупатель не получает "связанный" файл, в нашем случае уникальный пин-код. Вместо этого он получает сообщение об ожидании оплаты, хотя деньги на кошелек продавца уже поступили. Как сделать чтобы после оплаты пользователь все таки видел ссылку на свой связанный файл?
Скрин прилагается.
04 Сентябрь 2013, 09:53:34
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль проверять, он должен менять статус заказа. Если таких функций нет, то нужно в ручную изменять статус.
04 Сентябрь 2013, 10:20:04
Ответ #2
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А на что влияет поле:
"Создавать заказ после получения уведомления об оплате"


Имеет ли смысл его включить или нет?

Может ли этот модуль некорректно работать из-за неподключённого Мегастока?
Ибо самая первая сделка была успешной!
04 Сентябрь 2013, 11:49:36
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1614
  • Репутация: +32/-1
  • Сообщество PrestaShop
    • Просмотр профиля
А на что влияет поле:
"Создавать заказ после получения уведомления об оплате"

Может ли этот модуль некорректно работать из-за неподключённого Мегастока?

Включите создавать заказ и проверьте.
Обычно так нужно делать, чтобы в магазин вернулось сообщение о полученной оплате.
04 Сентябрь 2013, 17:18:39
Ответ #4
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Включил данную опцию, после чего та же схема, деньги падают, а связанного файла нет, но появилась надпись: "Order number is not set". Номер заказа не установлен, он должен автоматически генерироваться же? В заказах он не появляется. Прошлые пробы оставались в заказах.
04 Сентябрь 2013, 17:25:16
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1807
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль переустановить пробывали?
04 Сентябрь 2013, 17:34:39
Ответ #6
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Да, удалял. Сейчас попробую ещё раз
04 Сентябрь 2013, 17:50:49
Ответ #7
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
надпись появляется уже на success.php т.е. на последнем шаге. Проблема-то, может, не в модуле? Там всё по-умолчанию стоит, как и было, ассоциация с numberorder стоит.
Народ, помогите-спасите :)

success.php

class webmoneysuccessModuleFrontController extends ModuleFrontController
{
    public $ssl = true;

    public function initContent()
    {
        parent::initContent();
       
        $ordernumber = Tools::getValue('LMI_PAYMENT_NO');
        $this->context->smarty->assign('ordernumber', $ordernumber);

        if (Configuration::get('webmoney_postvalidate'))
        {
            if (!$ordernumber)
                webmoney::validateAnsver($this->module->l('Cart number is not set'));

            $cart = new Cart((int)$ordernumber);
            if (!Validate::isLoadedObject($cart))
                webmoney::validateAnsver($this->module->l('Cart does not exist'));

            if(!($ordernumber=Order::getOrderByCartId($cart->id)))
                $this->setTemplate('waitingPayment.tpl');
        }

        if (!$ordernumber)
            webmoney::validateAnsver($this->module->l('Order number is not set'));

        $order = new Order((int)$ordernumber);
        if (!Validate::isLoadedObject($order))
            webmoney::validateAnsver($this->module->l('Order does not exist'));

        $customer = new Customer((int)$order->id_customer);
        if ($customer->id != $this->context->cookie->id_customer)
            webmoney::validateAnsver($this->module->l('You are not logged in'));

        if ($order->hasBeenPaid())
            Tools::redirectLink(__PS_BASE_URI__ . 'order-confirmation.php?key=' . $customer->secure_key . '&id_cart=' . (int)($order->id_cart) . '&id_module=' . (int)$this->module->id . '&id_order=' . (int)$order->id);
        else
            $this->setTemplate('waitingPayment.tpl');
    }
05 Сентябрь 2013, 00:43:26
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 1090
  • Репутация: +5/-1
  • Иногда заглядываю
    • Просмотр профиля
    • Помощь патентообладателям по продаже патентов.
Проверьте настройки Мерчанта, там нужно прописывать адреса
отсылки сообщений по которым происходит изменение статуса заказа.
Не боги горшки обжигают, не зачем им такой хренью заниматься.
05 Сентябрь 2013, 09:39:05
Ответ #9
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нет, плагин сам прописывает и создаёт линки. Самая первая продажа увенчалась успехом, а последующие стали такими.
05 Сентябрь 2013, 09:47:56
Ответ #10
  • Фрилансер
  • *
  • Сообщений: 140
  • Репутация: +2/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Если первый заказ прошел, а потом не работает, то нужно проверить нумерацию заказов. Удалить не нужные, может быть ошибка в таблице регистрации заказов. Поэтому и ошибка, что номер не присвоен.
05 Сентябрь 2013, 10:06:59
Ответ #11
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Простите, а как удалить ненужные? В заказах подобной функции не вижу
05 Сентябрь 2013, 12:14:56
Ответ #12
  • Старожил
  • ****
  • Сообщений: 274
  • Репутация: +3/-0
    • Просмотр профиля
В таблице заказов должна быть иконка для удаления, последняя колонка.
05 Сентябрь 2013, 13:11:44
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
После подтвеждения об оплате должен всегда создаваться новый заказ. Без этого покупатель не получит ссылку на скачивание.
В prestashop заказы создаются по порядку номеров, поэтому вам модуль и не может создать заказ.
Какие настройки есть в этом модуле?
05 Сентябрь 2013, 13:47:34
Ответ #14
  • Новичок
  • *
  • Сообщений: 11
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
После подтвеждения об оплате должен всегда создаваться новый заказ. Без этого покупатель не получит ссылку на скачивание.
В prestashop заказы создаются по порядку номеров, поэтому вам модуль и не может создать заказ.
Какие настройки есть в этом модуле?

Вручную?
Настройки модуля лишь поле секретного ключа и поля для номера кошельков. И функция включения и отключения "создания заказа после получения оплаты"