Перейти к содержимому

Регистрация

Фотография

Работа с SendWM


  • Please log in to reply
5 replies to this topic

#1 Новичок Сапфир (WMID 845492204321 )

  • Группа: Пользователи
  • сообщений 4
  • Регистрация: 13-ноября 07
  • МестоположениеРоссия
  • Webmoney BL:0

Отправлено 12 апреля 2008 - 13:54

На PHP использую модуль SOAP для работы с этим сервисом: http://www.capitalle.../DoPayment.asmx

$client = new SoapClient("http://www.capitalle...ment.asmx?WSDL");

// Поcылка SOAP-запроса и получение результата
$result = $client->SendWM(все необходимые параметры);

echo "RESULT: " . $result;

Но всегда возвращается ошибка:

Fatal error: Uncaught SoapFault exception: [soap:Server] System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: Procedure 'usp_get_firm_cnt' expects parameter '@wmid', which was not supplied. at Corp.ws.DoPayment.SendWM(Int32 firm_id, String sender_wmid, Int32 transn, String signstr, String from, String to, Decimal amount, String purpose, Int32& paymentid, Decimal& comiss, Int32& wmtranid) --- End of inner exception stack trace --- i

Что за фигня? Что это за параметр wmid, в описании обращения функции он нигде не указан. Как правильно, приведите хотя бы рабочий
пример...

Кто-нибудь вообще этим сервисом пользуется?
    • 0
  • Наверх

#2 Знаток tyra (WMID 809399319852 )

  • Группа: Администраторы
  • сообщений 124
  • Регистрация: 26-июля 04
  • МестоположениеРоссия
  • Webmoney BL:608

Отправлено 17 апреля 2008 - 20:57

$result = $client->SendWM(все необходимые параметры);



может не все?

    • 0
  • Наверх

#3 Продвинутый пользователь e-curex.com (WMID 359371530583 )

  • Группа: Пользователи
  • сообщений 58
  • Регистрация: 21-ноября 07
  • МестоположениеУкраина
  • Webmoney BL:0

Отправлено 18 апреля 2008 - 08:42



мы можем разработать скрипт за деньги.

ЗЫ наш автоматически обменник использует эту функцию.




    • 0
  • Наверх

#4 Новичок fomka (WMID 412141913260 )

  • Группа: Пользователи
  • сообщений 1
  • Регистрация: 10-декабря 09
  • МестоположениеРоссия
  • Webmoney BL:2299

Отправлено 11 декабря 2009 - 13:22

Удивляет пренебрежительное отношение к разрабочикам платежных сервисов,
неужели было так сложно привести пример на любом из языков программирования.

В процессе подключения выяснилось, что массив с параметрами должен иметь имя "wmid". Нигде в описании об этом не говорится!

Привожу собственный краткий листинг на PHP (php на сервере должен быть установлен c подключенным модулем SOAP). Надеюсь он кому-то сэкономит время и нервы.

<?php
// Создаем экземпляр клиента
$client = new SoapClient("http://www.capitalle...ment.asmx?WSDL");

try
{
$params = array("firm_id" => $firm_id,
"sender_wmid" => $sender_wmid,
"transn" => $RequestN,
"signstr" => $SignStr,
"from" => $from_purse,
"to" => $to_purse,
"amount" => $summ,
"purpose" => $purpose,
"paymentid" => $trn_id);

//вызываем SendWM
$result = $client->__soapCall('SendWM',array("wmid"=>$params),
array("soapaction"=>"http://tempuri.org/SendWM",
"uri"=>"http://www.you_server.ru/"));
}
catch (SoapFault $e)
{
echo "<hr><pre>";
print_r($e);
echo "</pre><hr>";
}
var_dump($result);
?>




    • 0
  • Наверх

#5 Member diex (WMID 386815892598 )

  • Группа: Пользователи
  • сообщений 11
  • Регистрация: 17-декабря 09
  • МестоположениеРоссия
  • Webmoney BL:0

Отправлено 04 февраля 2010 - 23:18

В чём может быть загвоздка ?

Вот ответ вебсервиса:

 [faultstring] => Fault occurred ---> PaymentMgr.GetPaymentTask error:-1
    [faultcode] => soap:Server
    [faultactor] => http://www.capitalle.../DoPayment.asmx
    [detail] => stdClass Object
        (
            [retval] => -6
            [retdesc] => PaymentMgr.GetPaymentTask error:-1
        )


    • 0
  • Наверх

#6 Новичок mkseva (WMID 334459417431 )

  • Группа: Пользователи
  • сообщений 3
  • Регистрация: 08-февраля 11
  • МестоположениеМолдова
  • Webmoney BL:0

Отправлено 08 февраля 2011 - 14:46

@fomka Спасибо Ваш пример помог.

Имею проблему следующего характера: если использую сервис и в purpose используются русские буквы получаю ошибку вида:
Uncaught SoapFault exception: [soap:Server] Fault occurred ---> sign
not right: ...Описание на русском in

где ... - правильная строка для подписи. Вся загвостка в том, что при использовании в purpose только английских букв - все проходит на ура.
Пробовал отправлять запросы в UTF-8 & win-1251 кодировки - эффект такой же.

Куда копать?

    • 0
  • Наверх




0 человек читают эту тему

0 пользователей, 0 гостей, 0 анонимных