2. Настройка модуля

Установите модуль на сервер, обновите клиент, создайте экземпляр модуля. Создайте в редакторе конфигурации модуля новую конфигурацию, сделайте её активной. Конфигурация в общем виде такая:

# URL платёжной формы. (Будет предоставлен в ЦПП)
yamoney.url=https://demomoney.yandex.ru/eshop.xml
# Номер магазина в ЦПП. Выдается ЦПП.
yamoney.shopId=58
# Номер товара в ЦПП. Выдается ЦПП.
# yamoney.shopArticleId=58
# банк.
# yamoney.BankId=
# Номер витрины магазина в ЦПП. Выдается ЦПП.
yamoney.scid=58
#
# Метод аутентификации, применяемый в запросах от ЦПП. На данный момент поддерживаются:
# pgp - подпись PGP
# md5 – криптографический хэш (в комбинации с секретным паролем Магазина)
# (должен быть прописан такой же, как в настройках магазина)
yamoney.authMethod=md5
# Секретный пароль магазина (20 случайных символов), используемый при расчете криптографического хэша.
# Должен быть указан, если выбран тип аутентификации криптографическим хэшем.
# (должен быть прописан в настройках магазина)
yamoney.shopPassword=01234567890123456789
# Публичная часть PGP-ключа Магазина. (полный путь к локальному файлу)
# Должен быть указан, если выбран тип аутентификации PGP-подписью.
# Если указан, то ЦПП будет шифровать на этот ключ реестры.
# Рекомендуемые параметры ключа для подписи:
# *)Алгоритм симметричного шифрования CAST5, либо 3DES, либо IDEA;
# *)Хеш-функция SHA1;
# *)Алгоритм сжатия ZLIB, BZIP2, ZIP;
# *)Асимметричные ключи шифрования могут быть: RSA (1024 - 2048 bit), Diffie-Hellman/DSS (1024 - 4096 bit);
# (должен быть прописан в настройках магазина)
#yamoney.shopPgpKey=
# идентификатор платежа, которым будут вноситься приходы
paymenttype=16
# Шаблон комментария платежа
# ${contract} - заголовок договора
# ${contract_comment} - комментарий договора договора
# ${orderSumAmount} - сумма заказа
# ${orderSumCurrencyPaycash} - код валюты для суммы заказа (тип currencyCode)
# ${shopSumAmount} - сумма, получаемая Магазином на р/с
# ${shopSumCurrencyPaycash} - код валюты для суммы, получаемой Магазином на р/с
# ${date} - момент времени регистрации оплаты заказа в ЦПП
# ${invoiceId} - номер транзакции
# ${paymentPayerCode} - номер Кошелька «Яндекс.Денег» Покупателя
paymentCommentPattern=Платёж с Yandex.Деньги кошелька ${paymentPayerCode}, транзакция ${invoiceId}

Настройте магазин (на акаунте Yandex.Денег).

1) successURL и failURL указать на страницу списка платежей, но без параметра action:

http://ваш_адрес/webexecuter?mid=<mid>&module=yamoney

дело в том, что платёжная система сама по себе добавляет GET-параметр action, который мы здесь обработаем стандартным образом и сделаем редирект на список платежей в личном кабинете пользователя.

2) checkURL и paymentAvisoURL указать для старой версии протокола (меньше 3) http://ваш_адрес/yaexecuter?mid=<mid> и для новой версии протокола (версия 3): http://ваш_адрес/yaexecuter3?mid=<mid> . Для новой версии протокола везде указывать UTF-8 в настройках магазина. Поддерживается метод секретное слово + md5. (NVP/MD5)

Yandex.Деньги настаивают на https-варианте настройки сервлета yaexecuter. Безотносительно выбранному способу авторизации, ИС рекомендуется осуществлять контроль IP-адресов, с которых она получает запросы ЦПП (список IP можно получить при подключении).

3) Также введите имя, пароль и прочие параметры, которые должны быть выданы для аккаунта.

В версии протокола 3 поддерживаются динамическое задание адресов возврата shopSuccessURL и shopFailURL (если в настройках магазина включены динамические адреса возврата, то обязательно) указание в конфигурации модуля:

yamoney.shopSuccessURL=http://ваш_адрес/webexecuter?...
yamoney.shopFailURL=http://ваш_адрес/webexecuter?...

Переключение из тестового в рабочий режим проводится через менеджеров системы Yandex.Деньги после проверки корректности работы.

Для тестирования платежей вы можете использовать программу Интернет.Кошелек или Web-версию Яндекс.Кошелек. Подробно о том, как проводить тестирование в демо-режиме (с точки зрения разработчика), можно почитать здесь: http://money.yandex.ru/doc.xml?id=459801#2 .

Скачать Интернет.Кошелек: http://money.yandex.ru/doc.xml?id=522773

Открыть демо-версию Яндекс.Кошелька: http://demomoney.yandex.ru/

Обращаем ваше внимание, что счет демо кошелька должен начинаться на 41003.

Пополнить счет демо-валютой: http://demomoney.yandex.ru/shop.xml?scid=666

Ценовую политику и проценты решает для себя организация с учётом процентов Яндекса и т.п.. Дополнительная настройка модуля может быть такой:

# Параметр paymentSumAmount показывает какую именно сумму заносить на счёт юзеру
# order - заносится "сумма заказа, общая сумма" (значение параметра orderSumAmount)
# shop - заносится "сумма на счёт магазина", то есть сумма заказанная клиентом за вычетом процентов (значение параметра shopSumAmount)
paymentSumAmount=order
# Процент комиссии, будет нарисован в Web в случае, когда зачисление будет не полной
# суммы, а за вычетом процента (paymentSumAmount=shop)
paymentSumPercent=5