Симптомы

Не выполняются платежи через систему ASSIST после включения асинхронных нотификаций: http://download.pa.parallels.com/pba/5.5/doc/60654.htm.

Статус платежей - "Declined by Gate", в ASSIST.log:

[13-11-20 11:29:50.447 Worker1.33  RQ171241 WRN] Signatures does not match: current F185D36AEB4F29CCB6D885D5FF29563F, expected 36425CFCD11325FE55E5F7FEAF534733

Причина

Сигнатуры платежа в PBA и ASSIST не совпадают.

Решение

Сигнатура (в терминах ASSIST это checkvalue, контрольный код сообщения) создается следующим образом:

uppercase(md5(uppercase(md5(SALT) + md5(Х))))
  • SALT – секретное слово,
  • Х – результат строковой склейки параметров merchant_id, ordernumber, orderamount, ordercurrency, orderstate (без разделителей)
  • + - строковая склейка

Способ создания идентичен в обеих системах, поскольку коннект к ASSIST проходит успешно, то наиболее вероятно расхождение в сигнатурах вызвано разными паролями (секретными словами) в ASSIST и PBA.

Убедитесь, что Shared Secret в PBA и ASSIST совпадают (идентичны, не содержат ненужных пробелов), при необходимости синхронизируйте их изменением в одной из систем.

Internal content

Link on internal Article