*vMoney* -- стандарт чеков для совершения интернет-платежей. Чек vMoney -- zip-архив, содержащий такие элементы: h2. Каталог signatures Каталог может содержать подписи банка и клиента с именами в формате @<тип_подписи>_<id_подписавшего>.<формат_подписи>@, где *тип_подписи* -- может быть bank или client. Присутствие bank-подписи гарантирует, что средства были выделены со счета клиента и будут выплачены предъявившему чек до даты его истечения (см. ниже), иначе возвращены клиенту. client-подпись требуется для совершения перечисления денег и может быть проверена как чековладельцем так и банком. *id_подписавшего* -- произвольная строка символов, идентифицирующая подписавшего. *формат_подписи* -- формат подписи (примеры: gpg, sha512). В формате подписи gpg файл cheque (см.ниже) подписывается GPG-ключом и подпись сохраняется в файл .gpg в директории signatures. Формат sha512 (и другие хеш-форматы) может применяться только для подписи клиента и проверяется только банком. Является хешем слияния файла cheque и секрета клиента (например, пароля). Директория signatures может быть пуста или содержать любую комбинацию подписей. Банк производит транзакцию только при наличии правильной подписи. h2. Файл cheque Состоит из строк <имя>: <значение>, где имя — имя поля, значение — его содержимое. h3. Обязательные поля *Expires* — UTC дата истечения срока действия платежа в формате UNIX Timestamp *From* — ID отправителя платежа, чек должен быть подписан его ключом для совершения транзакции. *Amount* — количество единиц валюты, десятичная дробь. *Currency* — валюта платежа, стандартное наименование (например, RUR, EUR, USD) h3. Необязательные поля *To* — ID получателя платежа. При отсутствии этого поля чек является чеком “на предъявителя” и сумма может быть выплачена любому предъявившему подписанный клиентом чек до даты его истечения. h3. Пользовательские поля Банк и клиент могут добавлять любые поля в чек в том же формате.