Домой Каталог: Плагины WordPress WP Events&Places После оплаты заказа, не меняется статус заказа на оплаченный
6ответ(ов) в теме
Fruit
не в сети 2 года
На сайте с 15.11.2017
Участник
Тем 22
Сообщения 155
1
00:12
Версия плагина: 1.4.2

Создавали отдельное подключение к платёжной платформе под названием "paykeeper", проработали с ними не один год, пару дней назад, дополнительно подключили облачную кассу и столкнулись с тем что после оплаты заказа, перестал меняться сам статус заказа на оплаченный и так как заказ не оплачен, он через определённое время удаляется.
Тех поддержка платформы говорит что при подключении облачной кассы, ничего в самом подключении не меняется, всё должно работать как раньше. Но у нас не работает.
Сам код подключения к paykeeper:

register_payment('paykeeper');
	}

	class EVPL_paykeeper extends EVPL_Payment{

		public $form_pay_id;

		function register_payment($form_pay_id){
			$this->form_pay_id = $form_pay_id;
			parent::add_payment($this->form_pay_id, array(
				'class'		=>	get_class($this),
				'request'	=>	'clientid',
				'name'		=>	'paykeeper',            
			));
			if(is_admin()) $this->add_options();
		}

		function add_options(){
			add_filter('evpl_pay_option',(array($this,'options')));
			add_filter('evpl_pay_child_option',(array($this,'child_options')));
		}

		function options($options){
			$options[$this->form_pay_id] = 'Paykeeper';
			return $options;
		}

		function child_options($child){

			$opt = new EVPL_Options();

			$child .= $opt->child(
				array(
					'name'	=>	'connect_sale',
					'value'	=>	$this->form_pay_id
				),
				array(
					$opt->title(__('Настройка подключения')),
				)
			);

			return $child;
		}

		function pay_form($data){
			global $evpl_options;

			$fields = array(
				'sum'			=>	$data->payment_amount,
				'orderid'		=>	$data->order_id,
				'clientid'		=>	$data->payment_id,
				'phone'			=>	'+7(999)-999-99-99',
				'client_email'	=>	$data->user_data			);

			$form = parent::form($fields,$data,'https://show-kassa2.server.paykeeper.ru/create/');

			return $form;
		}

		function result($data){
			global $evpl_options;

			$data->payment_amount 	= $_REQUEST["sum"];
			$data->payment_id	 	= $_REQUEST["clientid"];
			$data->user_data 		= $_REQUEST['client_email'];
			$data->order_id 		= $_REQUEST["orderid"];

			$secret_seed 	= ""; //Секретное слово
			$id 			= $_POST['id'];
			$sum 			= $_POST['sum'];
			$clientid 		= $_POST['clientid'];
			$orderid 		= $_POST['orderid'];
			$key 			= $_POST['key'];

			$order = evpl_get_order($data->order_id);
			if(!$order||$order->order_status!=1){
           		//заказа не существует или уже оплачен
				echo "bad signn"; exit(); 
			}

			if ($key != md5 ($id . sprintf ("%.2lf", $sum).
				$clientid.$orderid.$secret_seed))
			{
				echo "Error! Hash mismatch";
				exit;
			}

			echo "OK ".md5($id.''); //Секретное слово

				if(!parent::get_pay($data)) parent::insert_pay($data);

				exit;
			}

			function success(){
				global $evpl_options;

				$data = array(
					'payment_id'	=>	$_REQUEST["clientid"]
				);

				if(parent::get_pay((object)$data)){
					wp_redirect(get_permalink($evpl_options['page_successfully_pay'])); exit;
				} else {
					wp_die(__('Запись о платеже не найдена в базе данных'));
				}

			}
		}

	}

	?>

0
Fruit
не в сети 2 года
На сайте с 15.11.2017
Участник
Тем 22
Сообщения 155
2
00:21

То есть перестал меняться статус заказа с подключением чека Чек 54-Ф3

0
Андрей CS
не в сети 51 минута
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16986
3
11:34

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

0
Fruit
не в сети 2 года
На сайте с 15.11.2017
Участник
Тем 22
Сообщения 155
4
13:03

Что значит

предпочитаю иметь собственную

Можно самому это всё делать?

0
Андрей CS
не в сети 51 минута
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16986
5
13:08

да, можно просто купить кассу, подключить ее к нужной платежке и далее только менять фискальный накопитель каждые год, три или пять лет

1
Fruit
не в сети 2 года
На сайте с 15.11.2017
Участник
Тем 22
Сообщения 155
6
14:15

Проблема решилась и может кому то пригодится.
Как написала сама тех поддержка paykeeper, что всё дело в нашей ssl сертификате, что на днях вместе с подключением облачной кассы, мы продлили сертификат, и как как он бесплатный (хотя у нас он платный), запросы криво принимались, но для нас они сделали исключение и переделали свою систему под наш сертификат и теперь всё ОК.

1
Тема закрыта. Публикация новых сообщений запрещена.