Jump to content

Оповещение по sms при покупке в 1 клик


Go to solution Solved by insider,

Recommended Posts

После установки и настройки (уберите поле имя и ваша конверсия увеличится) покупки в 1 клик и подключения sms оповещений, захотелось получать уведомление о быстром заказе на телефон.

Для я этого заходим в ajax/oneclick.php

 

Находим:

	// отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);	

Вставляем ниже:

	// Отправка смс уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ на имясайта.ру принят.');

	// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+номерадмина', 'На имясайта.ру поступил быстрый заказ');

Как передать параметры суммы и номер заказа админу? 

'.$order->id.' и '.$order->total_price.' не работают

Link to post
Share on other sites

Вот мой код: 

<?php
	session_start();
	chdir('..');
	require_once('api/Simpla.php');
	$simpla = new Simpla();
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);	

	// Отправка смс уведомления пользователю если он этого запросил
	$simpla->smssend->send($order->phone, 'Ваш заказ на мойсайт.ru принят. Спасибо за покупку!');

	// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+мойномер', 'На мойсайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');

Не приходят номер и сумма, код корректно отправляет смс.

Link to post
Share on other sites

Я выше прикрепил переделанный мною код под Ваш запрос.

P.S. Такое чувство что люди либо не внимательны абсолютно либо им просто по приколу быть такими.

Link to post
Share on other sites

Я выше прикрепил переделанный мною код под Ваш запрос.

P.S. Такое чувство что люди либо не внимательны абсолютно либо им просто по приколу быть такими.

 

Я испльзовал твой код, он оказался не рабочим. Зная проблему с указанием пути при заказе в 1 клик - исправил ее. Если бы все работало достойно - поблагодарил бы. Я выложу код по ссылке с ЯД:

 

<?php

	/*
	*	author: Noxter
	*	skype:	simplacms
	*	date:	26.10.2014
	*/
	
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();
	
	$admin_phone = '+380630000000';// тут нужно указать номер администратора
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// Добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// Выбираем заказ
	$order = $this->orders->get_order($order_id);
	
	// Добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// Отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);
	
	// Отправка SMS уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ №'.$order->id.' принят.');

	// Отправка SMS уведомления администратору о поступившем заказе 
	$simpla->smssend->send($admin_phone, 'Вам поступил быстрый заказ');
Link to post
Share on other sites

Допустил ошибку в коде.

Вместо переменной $this используйте переменную $simpla.

В итоге должно быть так:

<?php

	/*
	*	author: Noxter
	*	skype:	simplacms
	*	date:	26.10.2014
	*/
	
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();
	
	$admin_phone = '+380630000000';// тут нужно указать номер администратора
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// Добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// Выбираем заказ
	$order = $simpla->orders->get_order($order_id);
	
	// Добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// Отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);
	
	// Отправка SMS уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ №'.$order->id.' принят.');

	// Отправка SMS уведомления администратору о поступившем заказе 
	$simpla->smssend->send($admin_phone, 'Вам поступил быстрый заказ');
Link to post
Share on other sites

 

Допустил ошибку в коде.

Вместо переменной $this используйте переменную $simpla.

В итоге должно быть так:

<?php

	/*
	*	author: Noxter
	*	skype:	simplacms
	*	date:	26.10.2014
	*/
	
	session_start();
	require_once('../api/Simpla.php');
	$simpla = new Simpla();
	
	$admin_phone = '+380630000000';// тут нужно указать номер администратора
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// Добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	// Выбираем заказ
	$order = $simpla->orders->get_order($order_id);
	
	// Добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

	// Отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);
	
	// Отправка SMS уведомления пользователю
	$simpla->smssend->send($order->phone, 'Заказ №'.$order->id.' принят.');

	// Отправка SMS уведомления администратору о поступившем заказе 
	$simpla->smssend->send($admin_phone, 'Вам поступил быстрый заказ');

 

Номер заказа теперь приходит, а сумма нет

// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+номерадмина', 'На мойсайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');

Можно ли вывести $order->total_price ?

Link to post
Share on other sites

 

Номер заказа теперь приходит, а сумма нет

// Отправка смс уведомления администратору о поступившем заказе$simpla->smssend->send('+номерадмина', 'На мойсайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');

 

 

 

 

Можно ли вывести $order->total_price ?

Да можно, теперь в переменной $order доступны все поля и их значения из таблицы s_orders базы данных.

Попробуйте заменить:

// Выбираем заказ
$order = $simpla->orders->get_order($order_id); 

на вот это:

// Выбираем заказ
$o = $simpla->orders->get_order($order_id);

 

И далее:

$simpla->smssend->send('+номерадмина', 'На мойсайт.ru поступил быстрый заказ №'.$o->id.' на сумму '.$o->total_price.' руб');
Link to post
Share on other sites

Фрагменты

 

    // Выбираем заказ
    $order = $simpla->orders->get_order($order_id);
    
    
// Добавляем товар в заказ
    $simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

 

надо переставить местами...

Link to post
Share on other sites

Фрагменты

 

// Выбираем заказ

$order = $simpla->orders->get_order($order_id);

 

// Добавляем товар в заказ

$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));

 

надо переставить местами...

Точно. Спасибо, мой недочет.
Link to post
Share on other sites
  • Solution

Всем спасибо! Рабочий код:

 

<?php
	session_start();
	chdir('..');
	require_once('api/Simpla.php');
	$simpla = new Simpla();
	
	$variant_id = $simpla->request->post('variant', 'integer');
	$amount = $simpla->request->post('amount', 'integer');

	$order = new StdClass;
	$order->name = $simpla->request->post('name', 'string');
	$order->phone = $simpla->request->post('phone', 'string');
	
	
	// добавляем заказ
	$order_id = $simpla->orders->add_order($order);
	
	

	// добавляем товар в заказ
	$simpla->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount)));


	// Выбираем заказ
	$order = $simpla->orders->get_order($order_id);


	// отправляем письмо администратору
	$simpla->notify->email_order_admin($order_id);	

	// Отправка смс уведомления пользователю если он этого запросил
	$simpla->smssend->send($order->phone, 'Заказ на сайт.ru №'.$order->id.' принят. На сумму '.$order->total_price.' руб. Спасибо за покупку!');

	// Отправка смс уведомления администратору о поступившем заказе 
	$simpla->smssend->send('+номерадмина', 'На сайт.ru поступил быстрый заказ №'.$order->id.' на сумму '.$order->total_price.' руб');
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...