Обычно при обсуждении автоматических выплат WebMoney говорят о XML интерфейсе или модуле WMSigner. Оба этих метода требуют наличия персональных аттестатов, расположения на сервере файла-ключа WebMoney, что несколько ограничивает их применение. В тоже время полностью автоматические выплаты, в ряде случаев не только не дают выигрыша, но и являются критическим местом в безопасности вашей online системы. Особенно это критично для всевозможных партнерских программ, которые обязательно должны контролировать деятельность своих участников, для исключения случаев обмана и накруток.
Когда возникает задача автоматизации выплат? Реально ее необходимость наступает значительно раньше, чем число выплат перевалит за 100 в день. Ощутимый выигрыш по временным затратам на проведение выплат и уменьшение числа ошибок, можно получить, если вообще имеет место регулярное проведение выплат и у вас есть база платежей. Под базой платежей понимается таблица с номерами кошельков получателей, суммами и основаниями (текстовым примечанием) платежей. Если вы ведете выплаты в результате деятельности вашего сайта, то скорее всего это таблица MySQL. Но даже если вы ведете очередь выплат в Excel таблице, вы можете выполнять массовые выплаты.

Нередко можно встретить высокие минимальные суммы в партнерских программах, САР-системах, казино и т.п. проектах. Дополнительно к этому распространены и задержки выплат. Администрация таких проектов, чтобы обосновать это, любит ссылаться на трудоемкость проведения выплат, имея ввиду техническую сторону проведения платежей (кроме этого нужно время на проверку, но его тоже реально тратиться очень мало). Реально же в таких случаях имеет место не сложность, а другие причины, так как даже без персонального аттестата доступы два простых механизма автоматизации платежей, предлагаемые системой WebMoney.

WebMoney Keeper pluggable protocol (WMK)

WebMoney Keeper pluggable protocol (WMK) - интерфейс, используя который можно посылать WM Keeper Classic определенные команды: обновить данные, показать окно, отправить сообщение и т.д.

Синтаксис этого протокола похож синтаксис ссылки "mailto:". Команды протокола WMK имеют следующий формат:

wmk:<команда>[?][параметр_1=значение]&[параметр_2=значение]&...[параметр_N=значение]

Таким образом, наша задача заключается в формировании специальной ссылке на вебстранице, при клике на которую, будет автоматически открываться WM Keeper, с заполненными параметрами платежа. На языке php, такая ссылка формируется следующим образом:

$link = ' <a href="wmk:payto?Purse='.$acc.'&Amount='.$s.
'&Desc=Примечание платежа&BringToFront=Y">'.$acc.'</a>';

, где
$acc - переменная с номером кошелька получателя в формате Z111111111111
$s - сумма платежа, с двумя знаками после запятой и разделителем точкой
BringToFront=Y - активирует окно кипера на экран
payto - команда показывает диалог "Передать WM". Параметры команды позволяют установить кошелек, на который будет производиться платеж, сумму и описание платежа:


Purse - Номер кошелька на который будет производиться платеж;

Amount - Сумма платежа;

Desc - Описание платежа.

Кроме этой команды, есть и другие полезные команды (Refresh, PayTo, MsgTo, Display, Explore, Exit), которыми однако нередко злоупотребляют, например, назойливо предлагая запустить кипер, когда это необязательно для работы. Подробно с полным списком команд можно ознакомиться на сайте WebMoney.

Дополнительно хочу отметить особенность расчета переводимой суммы. Положим, вы должны перевести 1 WMZ. Если вы введете вручную или передадите эту сумму с помощью WMK, то реально вы потратите 1.01 WMZ. Так как система WebMoney берет комиссию с отправителя (0.8%). Распространена практика, когда 1 WMZ - это полная сумма, включающая комиссию, в таком случае нужно скорректировать передаваемую в WMK сумму (пример на php):

$s = 1.00;
$s = $s - (ceil($s * 0.8) / 100);

Используя этот интерфейс, я длительное время выполнял до 100 выплат в день, тратя на это 7-15 минут (разброс вызван тем, что получатели нередко указывали неверные номера кошельков).

WMTransfer Masspayment Service

WMTransfer Masspayment Service позволяет проводить массовые платежи на кошельки, телефоны и e-mail.

Для проведения платежей нужно:

зайти на страницу сервиса https://masspayment.wmtransfer.com

внести кошелек сервиса в список доверенных и разрешить ему списывать деньги с ваших кошельков (полезно задать суточные лимиты, чтобы контролировать расходы)

авторизоваться через кипер

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

Ваша задача заключается в формировании файлов платежей. Их можно подготовить как в текстовом формате (csv файл), так и XML. На практике проще работать с текстовыми файлами, к тому же они меньше по размеру и легко формируются из Excel (например, если список платежей вы ведете там).

Формат файла CSV:

<Кошелек получателя>; <Сумма>; <Описание>; <Номер платежа>

Пример:

Z123456789012;0.01;WMZ test;1
R123456789012;0.02;"Test payment; in roubles";2
E123456789012;0.03;"Test payments; test";3
U123456789012;0.01;Transfer to Russia;4

Обратите внимание, что текст описания платежа в ряде случаев берется в кавычки при наличии символа ";". На практике кавычки требуются и в некоторых других случаях (без них текст обрезается), поэтому их лучше ставить всегда.

Основание проведенного документа будет выглядеть немного иначе, например, для моего сайта:

MassPay Transaction: "Выплата sb-money.ru"

Таким образом, вы не "пропустите" в истории кипера массовых выплат и легко сможете их проконтролировать. Отмечу, что в сервисе ведется история всех массовых платежей и вы всегда можете просмотреть свои платежи и результаты по каждому переводу в них.

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

Заметил интересную особенность, при загрузке файла платежей, некорректно показывается сумма комиссии для контроля из-за того, что 0.8% комиссии берутся не по каждой сумме с округлением, а на общую сумму выплат. Поэтому получается немного заниженный результат (проводится все корректно).

Выводы

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

WMTransfer Masspayment Service фактически снимает ограничение по числу выплат, которые вы можете проводить без роста временных затрат.

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