В комментариях к посту про TinyWM я обещал выложить в свободный доступ библиотеку для работы с XML-интерфейсами WebMoney Transfer, которая была написана мною для собственных нужд.
Держу слово: скачать исходный код и пример использования библиотеки WmClasses можно на тут.
Все очень просто, для каждого из WM-интерфейсов есть свой класс:
— CmdSendInvoice
— CmdSendWebMoney
— CmdOperationsHistory
— CmdSendMessage
— CmdInInvoices
— CmdOutInvoices
— CmdRejectInvoice
— CmdVerifySignature
— CmdPursesBalance
Все они являются наследниками базового класса WmXmlCmd.
У него есть метод Execute(), который собственно исполняет команду, и свойства RetVal и RetDesc, значения которых нужно смотреть, если при выполнения этого метода возникло исключение.
Использовать эти классы нужно так:
— создать экземпляр класса
— установить значения для свойств (номер кошелька, сумма и т.п.)
— вызвать метод Execute
— обработать результат выполнения команды (некоторые классы кроме RetVal и RetDesc возвращают еще что нибудь — например коллекцию объектов типа Purse для команды CmdPursesBalance).
Пример:
Ну и перед использованием нужно установить значимые статические свойства класса WmSettings такие как:
— SignerWMID — WMID того, кто подписывает команды
— TrustedWMID — WMID того, кто доверяет подписывать команды (если это свойcтво не устанавливать оно равно SignerWMID)
— BKeys — если использовать для подписывания команд WMSignerFX
— KeysFileName и AccessCode — если использовать для подписывания команд WMSigner
Держу слово: скачать исходный код и пример использования библиотеки WmClasses можно на тут.
Все очень просто, для каждого из WM-интерфейсов есть свой класс:
— CmdSendInvoice
— CmdSendWebMoney
— CmdOperationsHistory
— CmdSendMessage
— CmdInInvoices
— CmdOutInvoices
— CmdRejectInvoice
— CmdVerifySignature
— CmdPursesBalance
Все они являются наследниками базового класса WmXmlCmd.
У него есть метод Execute(), который собственно исполняет команду, и свойства RetVal и RetDesc, значения которых нужно смотреть, если при выполнения этого метода возникло исключение.
Использовать эти классы нужно так:
— создать экземпляр класса
— установить значения для свойств (номер кошелька, сумма и т.п.)
— вызвать метод Execute
— обработать результат выполнения команды (некоторые классы кроме RetVal и RetDesc возвращают еще что нибудь — например коллекцию объектов типа Purse для команды CmdPursesBalance).
Пример:
static void Purses()
{
WmClasses.CmdPursesBalance cmd = new WmClasses.CmdPursesBalance();
cmd.Execute();
Console.Write("Purse Name\tAmount\tDescription\n");
foreach (Purse purse in cmd.Purses)
{
Console.Write(string.Format("{0}\t{1:N}\t{2}\n", purse.Number, purse.Amount, purse.Desc));
}
}
Ну и перед использованием нужно установить значимые статические свойства класса WmSettings такие как:
— SignerWMID — WMID того, кто подписывает команды
— TrustedWMID — WMID того, кто доверяет подписывать команды (если это свойcтво не устанавливать оно равно SignerWMID)
— BKeys — если использовать для подписывания команд WMSignerFX
— KeysFileName и AccessCode — если использовать для подписывания команд WMSigner