{% else-1 %}
cana777 * [мошенник]
(3 мар 2015, 15:25) (0/0) [0]
wapoleg, это я все нашел...а как применить ее ??
cana777 * [мошенник]
(3 мар 2015, 15:08) (0/0) [0]
wapoleg, что то не могу тут разобраться как вытащить х1...есть пример конкретнее
cana777 * [мошенник]
(3 мар 2015, 15:03) (0/0) [0]
wapoleg, а он рабочий ? пробывал
cana777 * [мошенник]
(3 мар 2015, 14:31) (0/0) [0]
wapoleg,
Результат (0 - успешно) - 1000
Расшифровка - Не получен XML-ответ
Дата и время -
Номер счёта в WebMoney -

и все больше не чего
cana777 * [мошенник]
(3 мар 2015, 14:19) (0/0) [0]
// ФУНКЦИЯ ФОРМИРУЕТ УНИКАЛЬНЫЙ УВЕЛИЧИВАЮЩИЙСЯ REQN
function _GetReqn(){
$time=microtime();
$int=substr($time,11);
$flo=substr($time,2,5);
return $int.$flo;
};


// ФУНКЦИЯ ФОРМИРОВАНИЯ ПОДПИСИ
// На входе: строка для подписи. На выходе: строка с результатом подписывания
function _GetSign($inStr) {
global $Path_Folder, $Path_Signer;
chdir($Path_Folder);
$descriptorspec = array(
0 => array("pipe", "r"*,
1 => array("pipe", "w"*,
2 => array("pipe", "r"* );
$process = proc_open($Path_Signer, $descriptorspec, $pipes);
fwrite($pipes[0], "$inStr\004\r\n"*;
fclose($pipes[0]);
$s = fgets($pipes[1], 133);
fclose($pipes[1]);
$return_value = proc_close($process);
return $s;
}


// АЛЬТЕРНАТИВНАЯ ФУНКЦИЯ ПОДПИСИ ДЛЯ PHP НИЖЕ 4.3.0
// На входе: строка для подписи. На выходе: строка с результатом подписывания
function _GetSign2($inStr){
global $Path_Folder, $Path_Signer;
chdir($Path_Folder);
$PlanStr = "$inStr\004\r\n";
$fp = popen($Path_Signer, "r+"*;
fwrite($fp,$PlanStr);
$s = fgets($fp, 133);
pclose($fp);
return $s;
}


// ОТПРАВКА POST-ЗАПРОСА ЧЕРЕЗ CURL
// На входе: URL для отправки и содержимое XML-запроса. На выходе: XML-ответ от WebMoney
function _GetAnswer($address, $xml){
global $Path_Certs;
// Инициализируем сеанс CURL
$ch = curl_init($address);
// В выводе CURL http-заголовки не нужны
curl_setopt($ch, CURLOPT_HEADER, 0);
// Возвращать результат, а не выводить его в браузер
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
// Метод http-запроса - POST
curl_setopt($ch, CURLOPT_POST,1);
// Что передаем?
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
// Проверяем корневой сертификат сервера WebMoney
curl_setopt($ch, CURLOPT_CAINFO, $Path_Certs);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
// Выполняем запрос, ответ помещаем в переменную $result;
$result=curl_exec($ch);
return $result;
}

// ИНТЕРФЕЙС X1. ВЫПИСКА СЧЕТА.
// На выходе: массив ['retval'=>код выполнения, 'retdesc'=>описание результата,
// 'date'=>дата и время, 'wminvid'=>уникальный номер счёта]
function WMXML1 ($orderid,$wmid,$purse,$amount,$desc,$address,$period,$expiration) {
global $Global_WMID, $XML_addr;
$reqn=_GetReqn();
$desc=trim($desc); $address=trim($address); $amount=floatval($amount);
$rsign=_GetSign($orderid.$wmid.$purse.$amount.$desc.$address.$period.$expiration.$reqn);
$address=htmlspecialchars($address, ENT_QUOTES);
$desc=htmlspecialchars($desc, ENT_QUOTES);
$address=iconv("CP1251", "UTF-8", $address);
$desc=iconv("CP1251", "UTF-8", $desc);
$xml="
<w3s.request>
<reqn>$reqn</reqn>
<wmid>$Global_WMID</wmid>
<sign>$rsign</sign>
<invoice>
<orderid>$orderid</orderid>
<customerwmid>$wmid</customerwmid>
<storepurse>$purse</storepurse>
<amount>$amount</amount>
<desc>$desc</desc>
<address>$address</address>
<period>$period</period>
<expiration>$expiration</expiration>
</invoice>
</w3s.request>";
$resxml=_GetAnswer($XML_addr[1], $xml);
echo $resxml;
$xmlres = simplexml_load_string($resxml);
if(!$xmlres) {
$result['retval']=1000;
$result['retdesc']="Не получен XML-ответ";
return $result;
}
$result['retval']=strval($xmlres->retval);
$result['retdesc']=iconv("UTF-8", "CP1251", strval($xmlres->retdesc));
$result['date']=strval($xmlres->invoice->datecrt);
$result['wminvid']=strval($xmlres->invoice->attributes()->id);
return $result;
}
Добавлено 03.03.15 в 14:21:18:
include("wmxml.inc.php"*;
$orderid="11";
$wmid="6565600449266"; // укажите!
$purse="R63155582541"; // укажите!
$amount="0.05";
$desc="тестовый счёт";
$address="http://";
$period="1";
$expiration="2";

$r=WMXML1($orderid,$wmid,$purse,$amount,$desc,$address,$period,$expiration);

echo "Результат (0 - успешно) - ".$r['retval']."<br>";
echo "Расшифровка - ".$r['retdesc']."<br>";
echo "Дата и время - ".$r['date']."<br>";
echo "Номер счёта в WebMoney - ".$r['wminvid']."<br>";
Добавлено 03.03.15 в 14:22:27:
в итоге получается вот так и счет не выставляется


include("wmxml.inc.php"*;
$orderid="11";
$wmid="159200449266"; // укажите!
$purse="R631798882541"; // укажите!
$amount="0.05";
$desc="тестовый счёт";
$address="http://serverok.mobi";
$period="1";
$expiration="2";

$r=WMXML1($orderid,$wmid,$purse,$amount,$desc,$address,$period,$expiration);

echo "Результат (0 - успешно) - ".$r['retval']."<br>";
echo "Расшифровка - ".$r['retdesc']."<br>";
echo "Дата и время - ".$r['date']."<br>";
echo "Номер счёта в WebMoney - ".$r['wminvid']."<br>";

КТО ПОМОЖЕТ
cana777 * [мошенник]
(3 мар 2015, 14:18) (0/0) [0]
Mobiaaa, все это имеется
cana777 * [мошенник]
(3 мар 2015, 14:17) (0/0) [0]
Mobiaaa, Выставление счета
cana777 * [мошенник]
(3 мар 2015, 13:27) (0/0) [0]
Подскажите как сделать на сайте выставление счета с помощью интерфейс Х1.
сам код, он есть в пабле но почему то у меня не получается сделать правильно..кто подскажет правильно 10р на вм
Добавлено 03.03.15 в 14:14:01:
не кто не знает ?
  • 1 из 1