кому функций на PHP для работы с Единым Кошельком ?

satrau
На сайте с 08.11.2009
Offline
12
1004

Неделю назад решил написать себе небольшой скриптик для работы с ИИ (он же Walet 1, он же Единый Кошелек ).

Да лень стало, а точнее задолбался ковырять их документацию и реверсить их клиента на яве.

Вобщем вот вам моя небольшая наработка по работе с единым кошельком на PHP.

Сейчас можно проверить свой баланс, и получить список провадеров, тем кому можно платить.

И еще есть незаконченная функция для оплаты - вот ее дописать и будет счастье.

Вобщем надеюсь, что кому-то эта тема будет интересной и он допишет функцию для оплаты и оформит это все в один класс на пхп.

Небольшая ремарка к использованию:

Вначале получаем ключ сессии при помощи $key = get_session_key( $phone, $pass );

А потом уже можем получать балансы и все остальное, например $ball = get_ballance( $key )


<?php

function get_session_key( $phone, $pass ){

$soapclient = new soapclient('http://services.w1.ru/10/SecurityService.asmx?WSDL');
$res = $soapclient->GetSessionTicket(array(
'Login' => $phone,
'LoginType' => 'PhoneNumber',
'Password' => base64_encode(sha1($pass,true)),
'ClientId' => 'w1_java_lite'
)
);
$session_key = $res->GetSessionTicketResult->SessionKey;
$session_user_id = $res->GetSessionTicketResult->SessionUserId;
return $session_key;

};

function get_ballance( $session_key ){
$soapclient = new soapclient('http://services.w1.ru/10/ProcessingService.asmx?WSDL', array('trace' => 1));
$header = new SoapHeader('Wallet.Processing.WebService','SecurityHeader', array ( 'SessionKey' => $session_key));
$soapclient->__setSoapHeaders($header);
$res = $soapclient->GetUserBalance();
return $res->GetUserBalanceResult->UserBalance[0]->Amount ;

};

function get_providers( $session_key ){
$soapclient = new soapclient('http://services.w1.ru/10/PaymentService.asmx?WSDL', array('trace' => 1));
$header = new SoapHeader('Wallet.Payment.WebService','SecurityHeader', array ( 'SessionKey' => $session_key));
$soapclient->__setSoapHeaders($header);

$res = $soapclient->GetProviders();

return $res ; //->GetUserBalanceResult->UserBalance[0]->Amount ;

};

function get_provider_by_id( $session_key, $provider_id ){
$soapclient = new soapclient('http://services.w1.ru/10/PaymentService.asmx?WSDL', array('trace' => 1));
$header = new SoapHeader('Wallet.Payment.WebService','SecurityHeader', array ( 'SessionKey' => $session_key));
$soapclient->__setSoapHeaders($header);

$res = $soapclient->GetProvider(array(
'ProviderId' => $provider_id
)
);

return $res ; //->GetUserBalanceResult->UserBalance[0]->Amount ;

};

function process_payment( $session_key, $provider_id, $phone, $moneys ){
// неработает, надо доделать.
$soapclient = new soapclient('http://services.w1.ru/10/PaymentService.asmx?WSDL', array('trace' => 1));
$header = new SoapHeader('Wallet.Payment.WebService','SecurityHeader', array ( 'SessionKey' => $session_key));
$soapclient->__setSoapHeaders($header);

$res = $soapclient->ProcessPayment(array(
'ProviderId' => $provider_id,
'PaymentId' => 0,
'FormId' => '',

)
);

return $res ; //->GetUserBalanceResult->UserBalance[0]->Amount ;

};

?>
Россошь (http://www.flash9.ru)
[Удален]
#1

ТС, Херня какаято

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