powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите с подключением Интеркассы 2.0
5 сообщений из 5, страница 1 из 1
Помогите с подключением Интеркассы 2.0
    #38740468
Фотография meg17m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте! Очень нужен сниппет кода status_url для интеркассы 2.0.
Сейчас пишу на кохане:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
Kohana::$log->add(Kohana_Log::INFO, "Start" );
		
		Kohana::$log->add(Kohana_Log::INFO, $_POST['ik_co_id'] );
		$dataSet = array();
		
		  $ik_co_id = trim($_POST['ik_co_id']);
		  $ik_pm_no = $_POST['ik_pm_no']; 
		  $ik_desc = $_POST['ik_desc']; 
		  $ik_pw_via = $_POST['ik_pw_via']; 
		  $ik_am = $_POST['ik_am']; 
		  $ik_cur = $_POST['ik_cur']; 
		  $ik_act = $_POST['ik_act']; 
		  $ik_x_service = $_POST['ik_x_service']; 
		  $ik_x_system = $_POST['ik_x_system']; 
		  $ik_inv_id  = $_POST['ik_inv_id ']; 
		  $ik_co_prs_id = $_POST['ik_co_prs_id']; 
		  $ik_trn_id = $_POST['ik_trn_id']; 
		  $ik_inv_crt = $_POST['ik_inv_crt']; 
		  $ik_inv_prc = $_POST['ik_inv_prc']; 
		  $ik_inv_st = $_POST['ik_inv_st']; 
		  $ik_ps_price = $_POST['ik_ps_price']; 
		  $ik_co_rfn = $_POST['ik_co_rfn'];
		  $ik_sign = $_POST['ik_sign']; 
		  
		  $dataSet['ik_co_id'] = trim($_POST['ik_co_id']); 
		  $dataSet['ik_pm_no'] = $_POST['ik_pm_no']; 
		  $dataSet['ik_desc'] = $_POST['ik_desc']; 
		  $dataSet['ik_pw_via'] = $_POST['ik_pw_via']; 
		  $dataSet['ik_am'] = $_POST['ik_am']; 
		  $dataSet['ik_cur'] = $_POST['ik_cur']; 
		  $dataSet['ik_act'] = $_POST['ik_act']; 
		  $dataSet['ik_x_service'] = $_POST['ik_x_service']; 
		  $dataSet['ik_x_system'] = $_POST['ik_x_system']; 
		  $dataSet['ik_inv_id']  = $_POST['ik_inv_id ']; 
		  $dataSet['ik_co_prs_id'] = $_POST['ik_co_prs_id']; 
		  $dataSet['ik_trn_id'] = $_POST['ik_trn_id']; 
		  $dataSet['ik_inv_crt'] = $_POST['ik_inv_crt']; 
		  $dataSet['ik_inv_prc'] = $_POST['ik_inv_prc']; 
		  $dataSet['ik_inv_st'] = $_POST['ik_inv_st']; 
		  $dataSet['ik_ps_price'] = $_POST['ik_ps_price']; 
		  $dataSet['ik_co_rfn'] = $_POST['ik_co_rfn'];
		  $dataSet['ik_sign'] = $_POST['ik_sign']; 
		  
		  Kohana::$log->add(Kohana_Log::INFO, $ik_co_id);
		  
		  if ($ik_co_id = '789324832h4h32h49h32h4')
		  {
			$_sekret_key = 'megasekretxxxyyy';
			
			unset($dataSet['ik_sign']); //удаляем из данных строку подписи
			ksort($dataSet, SORT_STRING); // сортируем по ключам в алфавитном порядке элементы массива
			array_push($dataSet, $_sekret_key); // добавляем в конец массива "секретный ключ"
			$signString = implode(':', $dataSet); // конкатенируем значения через символ ":"
			$sign = base64_encode(md5($signString, true)); // берем MD5 хэш в бинарном виде посформированной строке и кодируем в BASE64
			
			
			Kohana::$log->add(Kohana_Log::INFO, $ik_sign."---".$sign);

			
			if($ik_sign === $sign) 
			{
				
				Kohana::$log->add(Kohana_Log::INFO, "signok");

				//------------------------------------------ Создаем купон ---------------------------------------------------------------
				if ($ik_inv_st == 'success')
				{
						
						Kohana::$log->add(Kohana_Log::INFO, "stateok");
			
						$amount = $ik_am;
						$userID = $this->user->id;
						$paymentType = $_POST['ik_x_service'];
						$paymentSystem = $_POST['ik_x_system'];
						
						$dateInsert = date('Y-m-d H:i:s');
						
						DB::query(Database::INSERT, "INSERT INTO `paymenttable`
                                                        (`user_id`,`amount`,`status`,`dateInsrt`,`paymentService`,`paymentSystem`,`userIP`)
                                                            VALUES(:user_id, :amount, :status, :dateInsert, :paymentService, :paymentSystem, :userIP)")
                                                    ->bind(':user_id', $userID)
                                                    ->bind(':amount', $amount)
                                                    ->bind(':status', Pay::PROCESSED)
                                                    ->bind(':dateInsert', $dateInsert)
                                                    ->bind(':paymentService', $paymentType)
                                                    ->bind(':paymentSystem', $paymentSystem)
                                                    ->bind(':userIP', Request::$client_ip)
                                                    ->execute();
						Model::factory('Pay')->reSetBalance($amount);
						
						Kohana::$log->add(Kohana_Log::INFO, "okok");
					}
				
				//------------------------------------------------------------------------------------------------------------------------
							
			} 
		  }



В итоге, уже второй лог не отрабатывает:
Код: php
1.
Kohana::$log->add(Kohana_Log::INFO, $_POST['ik_co_id'] );
...
Рейтинг: 0 / 0
Помогите с подключением Интеркассы 2.0
    #38833618
Димонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня почему-то в поле $_POST['ik_sign'] ничего не попадает от интеркассы, всё остальное есть, а сигн нет. Нет с чем сравнивать подпись. В чём может быть проблема?
...
Рейтинг: 0 / 0
Помогите с подключением Интеркассы 2.0
    #38833817
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проблемма может в этом?
Код: php
1.
if ($ik_co_id = '789324832h4h32h49h32h4')
...
Рейтинг: 0 / 0
Помогите с подключением Интеркассы 2.0
    #38834069
Димонов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет. Я не могу поле массива $_POST[ik_sign] записать в переменную $sign для дальнейшего сравнения подписи интеркассы и моей, которую я подготавливаю на своей стороне. Поле оказывается пустым $_POST[ik_sign]. Мне говорят что нужно сделать логирование потому что общение идёт сервер - сервер. А потом оттуда брать ik_sign. Как мне это сделать?
...
Рейтинг: 0 / 0
Помогите с подключением Интеркассы 2.0
    #38834148
kunaksergey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Димонов,

у вас $dataSet['ik_sign'] всегда будет "Undefined", поскольку строка if ($ik_co_id = '789324832h4h32h49h32h4') -всегда будет true;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите с подключением Интеркассы 2.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]