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