plugins:
sberbank:
default:
messages:
success: OK
invalid_signature: # invalid signature err_text message
charged_payment: # charged payment err_text message
main:
secret_key: # set secret key here
timezone_offset_hours: 0
listeners:
http:
plain:
plugins: [sberbank/main]
workers:
- listeners: [http/plain]
Для проверки необходимо сформировать POST-запрос к агенту HPD. Для автоматизации формирования запроса можно использовать скрипт:
#!/bin/sh
# ВХОДНЫЕ ПАРАМЕТРЫ
HPD_URL="https://hpd-url.domain.ru/sberbank/main" # URL, по которому отвечает HPD
SBRF_PWD="SecretKeyHere" # Пароль (см. конфигурационный файл)
TO_ACC="123456" # Код лицевого счета для проверки
# ОСНОВНАЯ ЧАСТЬ ЗАПРОСА, РАСЧЕТ ПОДПИСИ
XML_PARAMS="<act>1</act><account>$TO_ACC</account>"
QRY_HASH=$(md5 -q -s "$XML_PARAMS$SBRF_PWD")
# ЗАПРОС С ПОДПИСЬЮ, ВЫВОД ДЛЯ НАГЛЯДНОСТИ
XML_FULL="<?xml version=\"1.0\" encoding=\"windows-1251\"?><request><params>\
$XML_PARAMS</params><sign>$QRY_HASH</sign></request>"
echo "\n[XML QUERY]\n\n$XML_FULL"
# ОБРАЩЕНИЕ К СЕРВЕРУ
echo "\n[ANSWER]\n"
curl -k --request POST --data "params=$XML_FULL" \
--header "Content-Type: application/x-www-form-urlencoded; charset=Windows-1251" \
"$HPD_URL"
echo "\n"
Пример работы скрипта:
% ./test_sberbank_hpd.sh
[XML QUERY]
<?xml version="1.0" encoding="windows-1251"?><request><params><act>1</act><account>8603266</account></params><sign>01a29d2e91a6fa19148b07a243ea9851</sign></request>
[ANSWER]
<?xml version="1.0" encoding="utf-8" ?>
<response><params><account>8603266</account><client_name>ИВАН АЛЕКСАНДРОВИЧ М.</client_name><err_code>0</err_code><err_text>OK</err_text></params><sign>eefba1b97111f5d1fd6a0cd7c892bdcf</sign></response>
%