n1c Posted February 11, 2016 Report Share Posted February 11, 2016 Здравствуйте форумчане.Подскажите пожалуйста, как сделать автоматическое уведомление клиента по почте после оплаты товара? В админке уведомление есть, но нужно нажимать галочку и сохранять. Quote Link to post Share on other sites
Noxter Posted February 11, 2016 Report Share Posted February 11, 2016 Черканите мне завтра в скайп simplacms помогу бесплатно. Quote Link to post Share on other sites
Tempter Posted February 12, 2016 Report Share Posted February 12, 2016 А можно тут ? интересный вопрос, присоединяюсь к тс Quote Link to post Share on other sites
mishanya Posted February 13, 2016 Report Share Posted February 13, 2016 А можно тут ? интересный вопрос, присоединяюсь к тс это зависит от метода оплаты, в некоторых уже есть уведомление об оплате админу и пользователю в payment/метод_оплаты/callback.php // Отправим уведомление на email $simpla->notify->email_order_user(intval($order->id)); $simpla->notify->email_order_admin(intval($order->id)); вы можете настроить это отдельно для каждого из методов. Quote Link to post Share on other sites
Noxter Posted February 13, 2016 Report Share Posted February 13, 2016 это зависит от метода оплаты, в некоторых уже есть уведомление об оплате админу и пользователю в payment/метод_оплаты/callback.php // Отправим уведомление на email $simpla->notify->email_order_user(intval($order->id)); $simpla->notify->email_order_admin(intval($order->id)); вы можете настроить это отдельно для каждого из методов. А не проще ли на странице заказа (куда нас перенаправляет после успешной оплаты) сделать проверку оплачен заказ или нет, и если заказ оплачен то выполнить $simpla->notify->email_order_admin(intval($order->id)); ?Конечно если пользователь вернется на эту страницу. Quote Link to post Share on other sites
Kors Posted February 13, 2016 Report Share Posted February 13, 2016 А не проще ли на странице заказа (куда нас перенаправляет после успешной оплаты) сделать проверку оплачен заказ или нет, и если заказ оплачен то выполнить $simpla->notify->email_order_admin(intval($order->id)); ? 1. Безусловно, это проще.2. Но прежде чем делать такое, полезно бы хоть немного ПОДУМАТЬ, хорошо ли это будет.3. Заходить на страницу заказа покупатель может МНОГО раз (например, по ссылке из письма). И тогда ему будет МНОГО раз отправляться уведомление об оплате.Я бы сказал, совет вредительский... вы можете настроить это отдельно для каждого из методов. Прежде чем это делать, надо бы у ТС уточнить постановку задачи."после оплаты товара" - можно понимать в разных смыслах:1. Есть автоматическая установка отметки об оплате в отдельных методах.2. Есть ручная отметка об оплате в админке на странице заказа.В какой ситуации требуется уведомление - 1, 2 или обеих? Quote Link to post Share on other sites
Noxter Posted February 13, 2016 Report Share Posted February 13, 2016 3. переход по ссылке работает через $_GET, что мешает отловить $_POST который отправляет терминал оплаты и выполнить условие? Условие и отправка письма сработает один раз. Прежде чем заявлять что мой совет вредительский советую самому сначала обдумать решение. Quote Link to post Share on other sites
Kors Posted February 13, 2016 Report Share Posted February 13, 2016 3. переход по ссылке работает через $_GET, что мешает отловить $_POST который отправляет терминал оплаты и выполнить условие? Условие и отправка письма сработает один раз.Прежде чем заявлять что мой совет вредительский советую самому сначала обдумать решение. Ничто не мешает.Если я правильно понял, Вы теперь вместо маленького изменения, описанного в посте #5, предлагаете проводить изменения ВО МНОГИХ файлах способов оплат. Если так, то простота, о которой упоминалось в посте #5, пропадает, и Ваш обновленный совет становится почти тем же, что ранее сказал mishanya в #4... Quote Link to post Share on other sites
Noxter Posted February 13, 2016 Report Share Posted February 13, 2016 Корс я писал о OrderView.php если у тебя не хватило логики догадаться. В OrderView.php можно отловить $_POST и проделать нужные действия, так что пожалуй пока мое предложение для реализации самое простое. Еще один вариант сделать доп. условия через куки по какому то ключу. Quote Link to post Share on other sites
Kors Posted February 13, 2016 Report Share Posted February 13, 2016 Корс я писал о OrderView.php если у тебя не хватило логики догадаться. НЕ хватило. Я ошибался, считая, что Вы используете общепринятую логику работы платежных систем. Она у них такова, что на возврат на сайт полагаться НЕЛЬЗЯ, поэтому они обычно посылают независимые уведомления помимо браузера пользователя. Кстати, на это Вы сами намекаете в #5.А пока при Вашем предложении - если не вернется пользователь на сайт со страницы платежной системы, то и не будет никакого уведомления... В OrderView.php можно отловить $_POST и проделать нужные действия, так что пожалуй пока мое предложение для реализации самое простое. Новость хорошая: предложение Noxter-a для реализации самое простое.Новость плохая: предложение Noxter-a для работы самое неправильное. Еще один вариант сделать доп. условия через куки по какому то ключу. Выходит, предыдущие варианты не слишком хороши, раз нужен еще один? Quote Link to post Share on other sites
Noxter Posted February 13, 2016 Report Share Posted February 13, 2016 Это ты так считаешь что вариант не правильный, ты сам из себя весь не правильный. Я бы оценил твое решение вопроса. Quote Link to post Share on other sites
Tempter Posted February 13, 2016 Report Share Posted February 13, 2016 так как же реализовать ? для тех кто на броне Quote Link to post Share on other sites
Kors Posted February 13, 2016 Report Share Posted February 13, 2016 так как же реализовать ? для тех кто на броне Смотря что Вам требуется реализовать.Тут в теме Noxter уже кое-что реализовал, даже в разных вариантах. Судя по его заявлениям в теме, метод у него очень хороший - сам изобрел, сам и похвалил. Если Вам непонятны его глубокие идеи, то попробуйте заказать и комплексное обслуживание под ключ: Черканите мне завтра в скайп simplacms помогу бесплатно. А если серьезно, то даже тот, кто на броне, должен чуть соображать, и как минимум ЧИТАТЬ в теме хотя бы важные моменты: Прежде чем это делать, надо бы у ТС уточнить постановку задачи."после оплаты товара" - можно понимать в разных смыслах:1. Есть автоматическая установка отметки об оплате в отдельных методах.2. Есть ручная отметка об оплате в админке на странице заказа.В какой ситуации требуется уведомление - 1, 2 или обеих? Quote Link to post Share on other sites
n1c Posted February 13, 2016 Author Report Share Posted February 13, 2016 это зависит от метода оплаты, в некоторых уже есть уведомление об оплате админу и пользователю в payment/метод_оплаты/callback.php // Отправим уведомление на email $simpla->notify->email_order_user(intval($order->id)); $simpla->notify->email_order_admin(intval($order->id)); вы можете настроить это отдельно для каждого из методов. Эти строки в файле имеются, но автоматического уведомления нет. Quote Link to post Share on other sites
n1c Posted February 13, 2016 Author Report Share Posted February 13, 2016 Все заработало, после того как Platon (я использую эту систему) разрешили у себя в вывод статуса о погашении. Для меня тема закрыта, спасибо! Quote Link to post Share on other sites
Al_Ary Posted February 15, 2016 Report Share Posted February 15, 2016 Мы делаем так же, как описывал выше Kors: в файле callback.php нужного метода оплаты, перед тем как списать товар и сразу же после того как проставляем статус "оплачено": // Установим статус оплачен $simpla->orders->update_order(intval($order->id), array('paid'=>1)); рассылаем уведомления всем кому надо и разными способами. Считаем, что подтверждение оплаты важный этап для клиента, поэтому также отправляем ему смс с подтверждением: // Отправим уведомление на email $simpla->notify->email_order_user(intval($order->id)); $simpla->notify->email_order_admin(intval($order->id)); // Отправим уведомление на телефон админа $admin_phone = $simpla->settings->pz_phones[admin]; $simpla->smssend->send($admin_phone, 'Заказ №'.$order->id.' на сумму '.$order->total_price.' '.$payment_currency->code.' оплачен.'); // и телефон клиента $simpla->smssend->send($order->phone, 'Ваш заказ №'.$order->id.' на сумму '.$_POST['amount'].' '.$payment_currency->code.' оплачен.'); Функция отправки смс и её реализация описана в соответствующей теме. Отдельно отмечу, что номер телефона администратора подхватываем из админки из настроек сервиса "Простые звонки": $admin_phone = $simpla->settings->pz_phones[admin]; Где admin — логин менеджера. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.