После разговоров с сотрудниками ПромСвязьБанка выяснили, что не заполняется поле DESC. При оплате в боевом режиме не допустимо не заполнять это поле.
Ниже приведен лог, подтверждающий факт пустого поля.
URL: http://dvplay.ru/df-psbank/confirm/ Версия Magento: 2.31.1 (1.8.0.0) Версия PHP: 5.4.16-1~dotdeb.1 *********************************** При взаимодействии с платёжным шлюзом призошёл сбой. Тип транзакции: блокирование средств покупателя. Состояние операции: запрос отклонен платёжным шлюзом (Authentication failed). Код состояния операции: -19. Дата и время операции: 11.04.2014 11:48:21. Сумма операции: 10.00. Валюта операции: российский рубль. Номер заказа: 100000748. Номер терминала: 24052501. Параметры запроса: Array ( [AMOUNT] => 10.00 [ORG_AMOUNT] => [CURRENCY] => RUB [ORDER] => 100000748 [DESC] => [MERCH_NAME] => DVplay [MERCHANT] => УДАЛЕНО МНОЮ [TERMINAL] => УДАЛЕНО МНОЮ [EMAIL] => dvplay@mail.ru [TRTYPE] => 0 [TIMESTAMP] => 20140411064821 [NONCE] => 53478ffd41c27579 [BACKREF] => http://dvplay.ru/df-psbank/customerReturn/?magentoOrderIncrementId=100000748 [RESULT] => 3 [RC] => -19 [RCTEXT] => Authentication failed [AUTHCODE] => [RRN] => [INT_REF] => [P_SIGN] => УДАЛЕНО МНОЮ [NAME] => YURY CHERNOV [CARD] => УДАЛЕНО МНОЮ [CHANNEL] => V ) ***********************************
В коде заполнения параметров запроса по какой-то причине $this->getTransactionDescription() возвращает пустую строку
/** @return array(string => string) */ private function getParamsForSignature() { if (!isset($this->{__METHOD__})) { $this->{__METHOD__} = array( 'AMOUNT' => $this->getAmount()->getAsString() , 'CURRENCY' => 'RUB' , 'ORDER' => $this->getOrderId() , 'DESC' => $this->getTransactionDescription() , 'TERMINAL' => $this->getServiceConfig()->getTerminalId() , 'TRTYPE' => $this->getTransactionType() , 'MERCH_NAME' => $this->getServiceConfig()->getShopName() , 'MERCHANT' => $this->getShopId() , 'EMAIL' => Df_Core_Helper_Mail::s()->getCurrentStoreMailAddress() , 'TIMESTAMP' => Df_Psbank_Helper_Data::s()->getTimestamp() , 'NONCE' => Df_Psbank_Helper_Data::s()->generateNonce() , 'BACKREF' => $this->getCustomerReturnUrl() ); } return $this->{__METHOD__}; }