...
Блок кода | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
# URL платёжной формы. (Будет предоставлен в ЦПП) yamoney.url=https://demomoney.yandex.ru/eshop.xml # Номер магазина в ЦПП. Выдается ЦПП. yamoney.shopId=58 # Номер товара в ЦПП. Выдается ЦПП. # yamoney.shopArticleId=58 # банк. # yamoney.BankId= # Номер витрины магазина в ЦПП. Выдается ЦПП. yamoney.scid=58 # # Метод аутентификации, применяемый в запросах от ЦПП. На данный момент поддерживаются: # pgp - подписьустарел PGP # md5 – криптографический хэш (в комбинации с секретным паролем Магазина) # PKCS7 - вариант подключения XML/PKCS#7 # (должен быть прописан такой же, как в настройках магазина) yamoney.authMethod=md5 # Секретный пароль магазина (20 случайных символов), используемый при расчете криптографического хэша. # Должен быть указан, если выбран тип аутентификации криптографическим хэшем. # (должен быть прописан в настройках магазина) yamoney.shopPassword=01234567890123456789 # Сертификат с открытым ключом (полный путь к локальному файлу) # Должен быть указан, если выбран режим XML/PKCS#7 # (даётся в яндексе) yamoney.certificateFile=/home/.../yandex/payment_center_2014.pem # Публичная часть 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:
...
дело в том, что платёжная система сама по себе добавляет GET-параметр action, который мы здесь обработаем стандартным образом и сделаем редирект на список платежей в личном кабинете пользователя.
2) checkURL и paymentAvisoURL указать для старой версии протокола (меньше 3) http://ваш_адрес/yaexecuter?mid=<mid> и для новой версии протокола (версия 3): http://ваш_адрес/yaexecuter3?mid=<mid> . Для новой версии протокола везде указывать UTF-8 в настройках магазина. Поддерживается метод секретное слово + md5. (NVP/MD5)
...
Блок кода | ||||
---|---|---|---|---|
| ||||
# Параметр paymentSumAmount показывает какую именно сумму заносить на счёт юзеру # order - заносится "сумма заказа, общая сумма" (значение параметра orderSumAmount) # shop - заносится "сумма на счёт магазина", то есть сумма заказанная клиентом за вычетом процентов (значение параметра shopSumAmount) paymentSumAmount=order # Процент комиссии, будет нарисован в Web в случае, когда зачисление будет не полной # суммы, а за вычетом процента (paymentSumAmount=shop) paymentSumPercent=5 |
Также могут настраиваться дополнительные типы оплаты (подключается в яндексе отдельно):
Блок кода | ||
---|---|---|
| ||
# paymentType.N.paymentType=<paymentType>
# paymentType.N.title=заголовок
# Первый способ будет выбран по умолчанию.
paymentType.1.paymentType=PC
paymentType.1.title=Оплата со счета Яндекс.Денег
paymentType.2.paymentType=AC
paymentType.2.title=Оплата с банковской карты
paymentType.3.paymentType=MC
paymentType.3.title=Платеж со счета мобильного телефона
paymentType.4.paymentType=GP
paymentType.4.title=Оплата наличными через кассы и терминалы
paymentType.5.paymentType=WM
paymentType.5.title=Оплата с кошелька в системе WebMoney
paymentType.6.paymentType=SB
paymentType.6.title=Оплата через Сбербанк Онлайн |
Замечание про параметр yamoney.certificateFile и сертификат в формате pem: старая java (по крайней мере шестая) не принимает текстовый (PEM) формат сертификата. Наиболее простое, правильное и без костылей решение - сконвертировать сертификат из PEM в DER (бинарный):
Блок кода | ||
---|---|---|
| ||
openssl x509 -inform PEM -in payment_center_2014.pem -outform DER -out payment_center_2014.cer |