Ошибка - 14 интерфейса Х2

relax84
На сайте с 09.11.2012
Offline
24
982

Здравствуйте уже что только не пробовал кодировку менял, ключь новый создавал все равно выдает

Код ошибки: -14 Описание ошибки: signature is incorrect. planstr=1366836473640321366836473R155997601991R2759890378171000pay http://domen.com login syxrab0 step=5

Что интересно на хостинге работает отлично на выделенном сервере не хочет.

Выкладываю код _ap.php

<?php

#require('config.php');

#$res=mysql_query("select wmid from tb_site where id='1'");

#$res=mysql_fetch_array($res);

$wmid = '565989508624';

#mysql_close($con);

define("DOC_ENCODING", "windows-1251");

include_once("wmsigner/wmxi.php");

/////////////////// НАСТРОИТЬ /////////////////

#$str_url = "/var/www/erter/certe/tyfgh/wmsigner"; /// Полный путь к папке wmsigner на вашем хостинге

$str_url = dirname(__FILE__)."/wmsigner"; /// Полный путь к папке wmsigner на вашем хостинге

$str_password = "gfhjkm"; /// Пароль к файлу ключей кипера

////////////////////////////////////////////////

$wmxi = new WMXI(realpath($str_url."/WebMoneyCA.cer"), DOC_ENCODING);

$kwm = file_get_contents($str_url."/keys/$wmid.kwm");

$wmxi->Classic("$wmid", $str_password, $kwm);

include_once("wmsigner/wmxiparser.php");

$parser = new WMXIParser();

?>

И код click_and_pay.php

<?php

if (!defined('BASEPATH'))

exit('No direct script access allowed');

class Click_and_pay extends CI_Controller {

public function _remap($method=null) {

$this->load->model('Users_model');

$this->load->model('Finance_model');

if (!$this->Admin_model->isLogin())

CI_goto('admin/login');

if (!$this->Admin_model->isCheckRule('login_admin_panel'))

CI_goto('/');

$methods = Load_menu_execute();

if (!empty($methods) && is_array($methods)) {

foreach ($methods['methods'] as $v) {

if (method_exists($this, $v)) {

$out .= call_user_func_array(array($this, $v), $methods['arguments']);

}

}

} else {

$arg = func_get_args();

if (method_exists($this, $method)) {

array_shift($arg);

$out .= call_user_func_array(array($this, $method), $arg[0]);

} else {

$method = 'index';

$out .= call_user_func_array(array($this, $method), $arg[0]);

}

}

if (!empty($out)) {

return render_page($out);

}

}

public function index() {

CI_set_title("Создание страниц");

$user = $this->session->userdata('user');

if(!empty($_REQUEST['del'])){

$data = $this->Finance_model->get_out(array('id' => $_REQUEST['del']));

if(empty($data)){

CI_set_message("Данная запись уже была удалена");

redirect('/admin/content/click_and_pay');

}

$pay = $data['0'];

$this->Users_model->update_pay($pay['summ'], $pay['user_id']);

/** фин отчет **/

$report = array();

$report['description'] = 'В выводе средств отказано ('.$pay['summ'].'р)!';

$report['summ'] = $pay['summ'];

$report['user_id'] = $pay['user_id'];

$report['date'] = date('Y-m-d H:i:s');

$this->Finance_model->add_history($report);

/** /фин отчет **/

$this->Finance_model->del_out($_REQUEST['del']);

CI_set_message("Данная запись удалена");

redirect('/admin/content/click_and_pay');

exit;

}

if(!empty($_REQUEST['pay'])){

$data = $this->Finance_model->get_out(array('id' => $_REQUEST['pay']));

if(empty($data)){

CI_set_message("Запись не найдена");

redirect('/admin/content/click_and_pay');

}

$pay = $data['0'];

///////// Выплата

$payme_p = $pay;

////////// Выплачиваем

require_once("_ap.php");

$user = $this->Users_model->load ($pay['user_id']);

if(empty($user)){

CI_set_message("Юзер не найден");

redirect('/admin/content/click_and_pay');

}

$user = $user['0'];

$tranid = time();

$pursesrc = get_variable('wm_purse','');

$wminvid = 0;

$amount = $pay["summ"];

$period = 0;

$pcode = "";

#$desc = 'Вывод средств аккаунт '.$user['email'];

$desc = 'pay http://domen.com login '.$user['login'];

$response = $wmxi->X2(

intval($tranid), # номер перевода в системе учета отправителя; любое целое число без знака, должно быть уникальным

$pursesrc, # номер кошелька с которого выполняется перевод (отправитель)

$user['wmr'], # номер кошелька, но который выполняется перевод (получатель)

floatval($amount), # число с плавающей точкой без незначащих символов

intval($period), # целое от 0 до 255 символов; 0 - без протекции

trim($pcode), # произвольная строка от 0 до 255 символов; пробелы в начале или конце не допускаются

trim($desc), # произвольная строка от 0 до 255 символов; пробелы в начале или конце не допускаются

intval($wminvid) # целое число > 0; если 0 - перевод не по счету

);

$structure = $parser->Parse($response, DOC_ENCODING);

$transformed = $parser->Reindex($structure, true);

$status = @$transformed["w3s.response"]["retval"];

if ($status == "0"){

/** фин отчет **/

$report = array();

$report['description'] = 'Выплота прошла успешно ('.$pay['summ'].'р)!';

$report['summ'] = $pay['summ'];

$report['user_id'] = $pay['user_id'];

$report['date'] = date('Y-m-d H:i:s');

$this->Finance_model->add_history($report);

/** /фин отчет **/

$this->Finance_model->del_out($_REQUEST['pay']);

CI_set_message("Выплата прошла успешно.");

redirect('/admin/content/click_and_pay');

exit;

}else{

CI_set_message("

Код ошибки: <b>".htmlspecialchars(@$transformed["w3s.response"]["retval"], ENT_QUOTES)."</b>

Описание ошибки: <b>".htmlspecialchars(@$transformed["w3s.response"]["retdesc"], ENT_QUOTES)."</b>

");

redirect('/admin/content/click_and_pay');

exit;

}

//////////////////////

}

$data = $this->Finance_model->get_out();

$tabs = CI_get_menu_primary(array(

get_language('code') . '/admin/content/click_and_pay' => 'Оплата в 1 клик',

), get_language('code') . '/admin/content/click_and_pay');

Load_tabs("tabs", $tabs);

return theme('admin/click_and_pay/list', array('data' => $data));

}

function __menu() {

$item['admin/content/click_and_pay'] = array(

'title' => "Оплата в 1 клик",

'page_callback' => 'index',

'description' => 'Оплата в 1 клик',

'type' => MENU_NORMAL_ITEM,

'access_page' => array('module_click_and_pay_admin'),

'weight' => 1,

);

return $item;

}

}

?>

S
На сайте с 05.04.2013
Offline
19
#1

На счёт ошибки пока не знаю, а вот при обращении к X2 вроде как надо ещё девятым параметром обязательно передавать 1, если вы конечно используете вторую версию wmxi.

IL
На сайте с 20.04.2007
Offline
435
#2

x14 - не прошла проверка подписи.. Проверить кодировки/ключи/пути к файлам итд

http://forum.webmoney.ru/index.php?/topic/16678-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81-x2-%D0%BE%D1%82%D0%B2%D0%B5%D1%82-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-14/ (последнее сообщение, видимо Ваше)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
relax84
На сайте с 09.11.2012
Offline
24
#3
ivan-lev:
x14 - не прошла проверка подписи.. Проверить кодировки/ключи/пути к файлам итд
http://forum.webmoney.ru/index.php?/topic/16678-%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81-x2-%D0%BE%D1%82%D0%B2%D0%B5%D1%82-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0-14/ (последнее сообщение, видимо Ваше)

Все это уже перепробовал (Да там тоже мое сообщение)

---------- Добавлено 25.04.2013 в 18:16 ----------

SVatlin:
На счёт ошибки пока не знаю, а вот при обращении к X2 вроде как надо ещё девятым параметром обязательно передавать 1, если вы конечно используете вторую версию wmxi.

ну так на хостинге работает причем прекрасно а на сервере не как

relax84
На сайте с 09.11.2012
Offline
24
#4

Все заработало, начал включать xDebug и между делом перезапустили php fpm и все заработало

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий