Есть код формирующий подпись мне необходимо получить такую подпись: b00e55ff185d6e3f56a76e20f40a8d70
Как я не корячился не выходит, протестируйте кто-нибудь на локалке и напишите какой SIG у вас выдает, заранее спасибо
вот сам код:
define( "PUMPIT_API_URL", "api.pumpit.ru/riba_api/?" );
define( "PUMPIT_KEY_BILLING", "m190Dkd2d92dltPxB" );
define( "PUMPIT_KEY_API", "w92dltPNxsI2dlDOl" );
define( "PUMPIT_APP_ID", "1" );
$query = array(
'app_id' => PUMPIT_APP_ID,
'p_sid' => '1234567812345678',
'action' => 'DoIncAppAccount',
'coin' => '0.42',
'desc' => "Exchange money #0.42",
'burl' => "/profile/?ss123123",
'sig' => "12345"
);
// функция формирования подписи
function getSig( $query, $billing = false ){
$str = "";
// собираем строку для подписи с сортировкой по ключам
ksort( $query );
foreach ( $query as $key=>$value ){
// исключаем параметр sig
if( strtolower($key) != 'sig' ){
$str .= $key."=".$value;
}
}
//echo "String for sign: $str"."\n";
$appkey = ( $billing ) ? PUMPIT_KEY_BILLING : PUMPIT_KEY_API;
return md5( $str.$appkey );
}
// функция формирования QUERY_STRING с подписью
function GoToPumpit( $query, $billing = false ){
//формируем подпись запроса
$sig = getSig( $query, $billing );
echo "SIG: $sig"."\n<br/>";
$url = PUMPIT_API_URL;
//собираем URL с сортировкой по ключам
ksort( $query );
foreach ( $query as $key=>$value ){
//исключаем параметр sig
if( strtolower($key) != 'sig' ){
$url .= urlencode($key)."=".urlencode($value)."&";
}
}
$url .= "sig=".$sig;
//echo "URL: $url"."\n";
}
GoToPumpit( $query, true );
MadLion, вот и у меня такая же херня, я сначала на кодировку грешил, а походу что-то у них не то)
18 Мар 2013, 6:35