In .Net for working with WebMoney interfaces there is a wonderful OpenSource library
WMClasses . For which many thanks
kazkad .
Suddenly :) Friday night, an unpleasant bug in this library resembling the “2000 problem” was discovered. In response to a request to transfer money to WM, the WebMoney service started issuing the code - 102 - the condition of a constant increase in the value of the w3s.request / reqn parameter was not met. Below is a description of why this is happening and how to fix it.
The fact is that when requesting Webmoney interfaces, it is necessary to use the request number
reqn , which should be constantly increasing. (unsigned integer, max. number of digits - 15; always must be greater than the number of the previous request for transfer of funds !!! The monotony of the number is taken into account in connection with the WMID that signs the request.)
')
We look into the code WmXmlCmd.cs
public static long GenerateReqNo(int maxlen) { long reqn = DateTime.Now.ToFileTimeUtc(); string data = reqn.ToString(); if (data.Length > maxlen) { data = data.Remove(0, data.Length - maxlen);
As a result, on 12/14/2012, at 23.06, the value of reqn reached 999999999999999 and started from 0. The demand for increasing was violated and the service stopped working. We managed to solve it only by contacting WebMoney support service with a request to reset the value of reqn.
In this story we are pleased that the next time this problem will arise on 02/15/2016 8:53:20. So, there are still 4 years to change the way reqn is generated.
Be careful.