Приложение 1. Пример формирования подписи для XML-интерфейсов
<?php
$SignAlg = 'sha256';
$SignKey = 'VerySecretKey';
$UnsignedXML = '<?xml version="1.0" encoding="UTF-8"?><Command><LMI_PAYMENT_NO>39702</LMI_PAYMENT_NO><LMI_MERCHANT_ID>100</LMI_MERCHANT_ID><LMI_HASH></LMI_HASH></Command>';
$Sign = hash($SignAlg, $UnsignedXML.$SignKey);
$RequestXML = str_replace('<LMI_HASH></LMI_HASH>', '<LMI_HASH>'.$Sign.'</LMI_HASH>', $UnsignedXML);
В результате формирования и подстановки подписи выходной XML-запрос получил следующего вида:
<?xml version="1.0" encoding="UTF-8"?><Command><LMI_PAYMENT_NO>39702</LMI_PAYMENT_NO><LMI_MERCHANT_ID>100</LMI_MERCHANT_ID><LMI_HASH>5024962dbb770ecc050ba616ba99538ccb2718c2bfa274e33a56476cb00e03e4</LMI_HASH></Command>