Добрый день!
Пробую создать счет через API, но что-то не получается. Регистрация, изменение учеток - все ок, а вот с созданием счета затык. Код по той же схеме, что и в других (работающих) случаях (например регистрация через /API/UserRegister).
Сначала регистрирую юзера через API, затем логинюсь опять через API, так что сессия создается и живет. Затем пытаюсь от имени этого пользователя создать себе новый счет:
Код: Выделить всё
function make_invoice($contractid, $summ) {
        $Args = Array(
               'ContractID'   => $contractid,
               'XMLHttpRequest' => 'yes',
               'PaymentSystemID'  => $_POST['PSystem'],
               'Summ'  => $summ
               );
   $Query = Http_Build_Query($Args);
   $Answer = @File_Get_Contents("http://testtest.com/API/InvoiceMake?".$Query."");
   if(!$Answer)
     return('Request error');
   #-------------------------------------------------------------------------------
   $Answer = @JSON_Decode($Answer,TRUE);
   if(!$Answer)
     return('Bad answer');
   #-------------------------------------------------------------------------------
   switch($Answer['Status']){
     case 'Error':
      #---------------------------------------------------------------------------
      $Error = $Answer['Error'];
      #---------------------------------------------------------------------------
      return($Error['String']);
     case 'Exception':
      #---------------------------------------------------------------------------
      $Exception = $Answer['Exception'];
      #---------------------------------------------------------------------------
      return($Exception['String']);
     case 'Ok':
      #---------------------------------------------------------------------------
      return "ok";
      #---------------------------------------------------------------------------
     default:
      return('Wrong status');
   }
}
echo make_invoice($contractid, $summ);
Запрос уходит как надо:
127.0.1.1 - - [19/Nov/2010:01:10:36 +0100] "GET /API/InvoiceMake?ContractID=8&XMLHttpRequest=yes&PaymentSystemID=WebMoney+WMR&Summ=500.00 HTTP/1.0" 200 6992 "-" "-"
Что имеем в итоге? Что бы я не послал в InvoiceMake - ответ всегда приходит Status = "Ok", а InvoiceID пустой. => счет не создается, в логи ничего по этому поводу не пишется. Не могу понять почему.
В случае с UserRegister, например, если посылаю какой-то параметр криво или не посылаю, то получаю ошибку в ответ. А InvoiceMake вообще не замечает этого и шлет "Ok"...
Заранее спасибо за помощь)