Добрый вечер, выручайте))
Не обновляется статус оплаты в админке,
1) оплата в ЕК проходит
2) приходят письма \"Неудачная оплата\" с сайта с подобным содержанием:
CMS - 30
TYPE_PAY - 1
USER_ID - vitaliybereza@yandex.ua
WMI_AUTO_ACCEPT - 1
WMI_COMMISSION_AMOUNT - 0.40
WMI_CREATE_DATE - 2017-10-03 10:23:50
WMI_CURRENCY_ID - 643
WMI_DESCRIPTION - 物豚蜞 玎赅玎 铗 vitaliybereza@yandex.ua
WMI_EXPIRED_DATE - 2017-11-03 10:23:50
WMI_FAIL_URL -
WMI_INVOICE_OPERATIONS - [{\\\"CreateDate\\\":\\\"2017-10-03 10:45:53\\\",\\\"PaymentId\\\":\\\"151774050\\\",\\\"Amount\\\":\\\"10.00\\\",\\\"AmountEntryId\\\":\\\"10862712470\\\"}]
WMI_LAST_NOTIFY_DATE - 2017-10-03 14:21:37
WMI_MERCHANT_ID - 112466845835
WMI_NOTIFY_COUNT - 29
WMI_ORDER_ID - 340750543939
WMI_ORDER_STATE - Accepted
WMI_PAYMENT_AMOUNT - 10.00
WMI_PAYMENT_NO - 1507036999
WMI_PAYMENT_TYPE - SberOnlineRUB
WMI_SUCCESS_URL -
WMI_UPDATE_DATE - 2017-10-03 10:45:53
WMI_SIGNATURE - yV5SCjnDwjp7MRpxyuMCaA==
C褎芯褉屑懈褉芯胁邪薪薪褘泄 褏械褕 - mZSsE/gTOzKI6DRu9c9Vhg==
孝械泻褍褖懈泄 锌芯褋褌 - 72
RESULT - 72
SUCCESS - 70 
3) От них недавно приходило письмо что изменился API:
Уважаемые пользователи!
С 21 сентября 2017 года изменится состав коллбэка. В него будет включен новый параметр WMI_INVOICE_OPERATIONS. Для проверки цифровой подписи необходимо его учитывать.
Wallet One Team.
4) Может что-то в коде надо поменять? (кода мерчанта)
if(class_exists(\'WRP_Payment\')){
add_action(\'init\',\'wrp_add_walletone_payment\');
function wrp_add_walletone_payment(){
    $pm = new WRP_Walletone_Payment();
    $pm->register_payment(\'walletone\');
}
class WRP_Walletone_Payment extends WRP_Payment{
    public $form_pay_id;
    public $payments_json;
    function register_payment($form_pay_id){
        $this->form_pay_id = $form_pay_id;
        parent::add_payment($this->form_pay_id, array(
            \'class\'=>get_class($this),
            \'request\'=>\'WMI_PAYMENT_NO\',
            \'name\'=>\'WalletOne\'
            ));
        if(is_admin()) $this->add_options();
    }
    function add_options(){
        add_filter(\'wrp_pay_option\',(array($this,\'options\')));
        add_filter(\'wrp_pay_child_option\',(array($this,\'child_options\')));
    }
    function options($options){
        $options[$this->form_pay_id] = __(\'WalletOne\',\'rcl-walletone\');
        return $options;
    }
    function child_options($child){
        $opt = new WRP_Options();
        $child .= $opt->child(
            array(
                \'name\'=>\'connect_sale\',
                \'value\'=>$this->form_pay_id
            ),
            array(
                $opt->title(__(\'Настройки подключения WalletOne\',\'rcl-walletone\')),
                $opt->label(__(\'Merchant ID\',\'rcl-walletone\')),
                $opt->option(\'text\',array(\'name\'=>\'WO_MERCHANT_ID\')),
                $opt->label(__(\'Секретный ключ\',\'rcl-walletone\')),
                $opt->option(\'password\',array(\'name\'=>\'WO_SECRET_KEY\')),
                $opt->label(__(\'Доступные способы оплаты\',\'rcl-walletone\')),
                $content
            )
        );
        return $child;
    }
    function pay_form($data){
        global $wrp_options;
        $merchant_id = $wrp_options[\'WO_MERCHANT_ID\'];
        $secret_key = $wrp_options[\'WO_SECRET_KEY\'];
        $curs = array( \'RUB\' => 643, \'UAH\' => 980, \'KZT\' => 398, \'USD\' => 840, \'EUR\' => 978 );
        $code_cur = (isset($curs[$wrp_options[\'primary_cur\']]))? $curs[$wrp_options[\'primary_cur\']]: 643;
        
        $desc = ($data->description)? $data->description: \'Платеж от \'.$data->email_user;
        $fields = array(
            \'WMI_MERCHANT_ID\'=>$merchant_id,
            \'WMI_PAYMENT_AMOUNT\'=>$data->pay_summ.\'.00\',
            \'WMI_CURRENCY_ID\'=>$code_cur,
            \'WMI_PAYMENT_NO\'=>$data->pay_id,
            \'WMI_DESCRIPTION\'=>$desc,
            \'WMI_SUCCESS_URL\'=>get_permalink($wrp_options[\'page_successfully_pay\']),
            \'WMI_FAIL_URL\'=>get_permalink($wrp_options[\'page_fail_pay\']),
            \'USER_ID\'=>$data->email_user,
            \'TYPE_PAY\'=>$data->pay_type,
            \'CMS\'=>30
        );
        //Сортировка значений внутри полей
          foreach($fields as $name => $val)
          {
            if (is_array($val))
            {
               usort($val, \"strcasecmp\");
               $fields[$name] = $val;
            }
          }
          // Формирование сообщения, путем объединения значений формы,
          // отсортированных по именам ключей в порядке возрастания.
          uksort($fields, \"strcasecmp\");
          $fieldValues = \"\";
          foreach($fields as $value)
          {
              if (is_array($value))
                 foreach($value as $v)
                 {
                //Конвертация из текущей кодировки (UTF-8)
                    //необходима только если кодировка магазина отлична от Windows-1251
                    $v = iconv(\"utf-8\", \"windows-1251\", $v);
                    $fieldValues .= $v;
                 }
             else
            {
               //Конвертация из текущей кодировки (UTF-8)
               //необходима только если кодировка магазина отлична от Windows-1251
               $value = iconv(\"utf-8\", \"windows-1251\", $value);
               $fieldValues .= $value;
            }
          }
          // Формирование значения параметра WMI_SIGNATURE, путем
          // вычисления отпечатка, сформированного выше сообщения,
          // по алгоритму MD5 и представление его в Base64
          $signature = base64_encode(pack(\"H*\", md5($fieldValues . $secret_key)));
          //Добавление параметра WMI_SIGNATURE в словарь параметров формы
          $fields[\"WMI_SIGNATURE\"] = $signature;
        $form = parent::form($fields,$data,\'https://wl.walletone.com/checkout/checkout/Index\');
        return $form;
    }
    function result($data){
        global $wrp_options;
        $secret_key = $wrp_options[\'WO_SECRET_KEY\'];
        $data->pay_summ = $_REQUEST[\"WMI_PAYMENT_AMOUNT\"];
        $data->pay_id = $_REQUEST[\"WMI_PAYMENT_NO\"];
        $data->email_user = $_REQUEST[\"USER_ID\"];
        $data->pay_type = $_REQUEST[\"TYPE_PAY\"];
        if (!isset($_REQUEST[\"WMI_SIGNATURE\"]))
            $this->print_answer(\"Retry\", \"Отсутствует параметр WMI_SIGNATURE\");
          if (!isset($_REQUEST[\"WMI_PAYMENT_NO\"]))
            $this->print_answer(\"Retry\", \"Отсутствует параметр WMI_PAYMENT_NO\");
          if (!isset($_REQUEST[\"WMI_ORDER_STATE\"]))
            $this->print_answer(\"Retry\", \"Отсутствует параметр WMI_ORDER_STATE\");
          // Извлечение всех параметров POST-запроса, кроме WMI_SIGNATURE
          foreach($_REQUEST as $name => $value)
          {
            if ($name !== \"WMI_SIGNATURE\") $params[$name] = $value;
          }
          // Сортировка массива по именам ключей в порядке возрастания
          // и формирование сообщения, путем объединения значений формы
          uksort($params, \"strcasecmp\"); $values = \"\";
          foreach($params as $name => $value)
          {
            //Конвертация из текущей кодировки (UTF-8)
            //необходима только если кодировка магазина отлична от Windows-1251
            //$value = iconv(\"utf-8\", \"windows-1251\", $value);
            $values .= $value;
          }
          // Формирование подписи для сравнения ее с параметром WMI_SIGNATURE
          $signature = base64_encode(pack(\"H*\", md5($values . $secret_key)));
          //Сравнение полученной подписи с подписью W1
          if ($signature == $_REQUEST[\"WMI_SIGNATURE\"]){
            if (strtoupper($_REQUEST[\"WMI_ORDER_STATE\"]) == \"ACCEPTED\"){
              // TODO: Пометить заказ, как «Оплаченный» в системе учета магазина
              if(!parent::get_pay($data)){
                  //print_answer(\"Ok\", \"Заказ #\" . $_POST[\"WMI_PAYMENT_NO\"] . \" оплачен!\");
                  print \"WMI_RESULT=\" . strtoupper(\"Ok\") . \"&\";
                  print \"WMI_DESCRIPTION=\" .urlencode(\"Заказ #\" . $_POST[\"WMI_PAYMENT_NO\"] . \" оплачен!\");
                  parent::insert_pay($data);
                  exit;
              }
            }else{
              // Случилось что-то странное, пришло неизвестное состояние заказа
              $this->print_answer(\"Retry\", \"Неверное состояние \". $_REQUEST[\"WMI_ORDER_STATE\"]);
            }
          }else{
            // Подпись не совпадает, возможно вы поменяли настройки интернет-магазина
            $this->print_answer(\"Retry\", \"Неверная подпись \" . $_REQUEST[\"WMI_SIGNATURE\"],$signature);
          }
    }
    function print_answer($result, $description,$signature=false){
      wrp_mail_payment_error($signature);
      print \"WMI_RESULT=\" . strtoupper($result) . \"&\";
      print \"WMI_DESCRIPTION=\" .urlencode($description);
      exit();
    }
}
}
5) Скрины настроек прилагаю, но вроде все ок.
a)ЕК 
b)Админка 
c)Страницы 
ПС:Написал еще супорту ЕК, жду ответ. Надеюсь общими усилиями справимся 🙂
прописал:
скрин
код
<?php
if(class_exists(\'WRP_Payment\')){
add_action(\'init\',\'wrp_add_walletone_payment\');
function wrp_add_walletone_payment(){
    $pm = new WRP_Walletone_Payment();
    $pm->register_payment(\'walletone\');
}
class WRP_Walletone_Payment extends WRP_Payment{
    public $form_pay_id;
    public $payments_json;
    function register_payment($form_pay_id){
        $this->form_pay_id = $form_pay_id;
        parent::add_payment($this->form_pay_id, array(
            \'class\'=>get_class($this),
            \'request\'=>\'WMI_PAYMENT_NO\',
            \'name\'=>\'WalletOne\'
            ));
        if(is_admin()) $this->add_options();
    }
    function add_options(){
        add_filter(\'wrp_pay_option\',(array($this,\'options\')));
        add_filter(\'wrp_pay_child_option\',(array($this,\'child_options\')));
    }
    function options($options){
        $options[$this->form_pay_id] = __(\'WalletOne\',\'rcl-walletone\');
        return $options;
    }
    function child_options($child){
        $opt = new WRP_Options();
        $child .= $opt->child(
            array(
                \'name\'=>\'connect_sale\',
                \'value\'=>$this->form_pay_id
            ),
            array(
                $opt->title(__(\'Настройки подключения WalletOne\',\'rcl-walletone\')),
                $opt->label(__(\'Merchant ID\',\'rcl-walletone\')),
                $opt->option(\'text\',array(\'name\'=>\'WO_MERCHANT_ID\')),
                $opt->label(__(\'Секретный ключ\',\'rcl-walletone\')),
                $opt->option(\'password\',array(\'name\'=>\'WO_SECRET_KEY\')),
                $opt->label(__(\'Доступные способы оплаты\',\'rcl-walletone\')),
                $content
            )
        );
        return $child;
    }
    function pay_form($data){
        global $wrp_options;
        $merchant_id = $wrp_options[\'WO_MERCHANT_ID\'];
        $secret_key = $wrp_options[\'WO_SECRET_KEY\'];
        $curs = array( \'RUB\' => 643, \'UAH\' => 980, \'KZT\' => 398, \'USD\' => 840, \'EUR\' => 978 );
        $code_cur = (isset($curs[$wrp_options[\'primary_cur\']]))? $curs[$wrp_options[\'primary_cur\']]: 643;
        
		//описание
        $desc = ($data->description)? $data->description: \'Платеж от \'.$data->email_user;
        $fields = array(
            \'WMI_MERCHANT_ID\'=>$merchant_id,
            \'WMI_PAYMENT_AMOUNT\'=>$data->pay_summ.\'.00\',
            \'WMI_CURRENCY_ID\'=>$code_cur,
            \'WMI_PAYMENT_NO\'=>$data->pay_id,
            \'WMI_DESCRIPTION\'=>$desc,
            \'WMI_SUCCESS_URL\'=>get_permalink($wrp_options[\'page_successfully_pay\']),
            \'WMI_FAIL_URL\'=>get_permalink($wrp_options[\'page_fail_pay\']),
            \'USER_ID\'=>$data->email_user,
            \'TYPE_PAY\'=>$data->pay_type,
            \'CMS\'=>30
        );
        //Сортировка значений внутри полей
          foreach($fields as $name => $val)
          {
            if (is_array($val))
            {
               usort($val, "strcasecmp");
               $fields[$name] = $val;
            }
          }
          // Формирование сообщения, путем объединения значений формы,
          // отсортированных по именам ключей в порядке возрастания.
          uksort($fields, "strcasecmp");
          $fieldValues = "";
          foreach($fields as $value)
          {
              if (is_array($value))
                 foreach($value as $v)
                 {
                //Конвертация из текущей кодировки (UTF-8)
                    //необходима только если кодировка магазина отлична от Windows-1251
                    $v = iconv("utf-8", "windows-1251", $v);
                    $fieldValues .= $v;
                 }
             else
            {
               //Конвертация из текущей кодировки (UTF-8)
               //необходима только если кодировка магазина отлична от Windows-1251
               $value = iconv("utf-8", "windows-1251", $value);
               $fieldValues .= $value;
            }
          }
          // Формирование значения параметра WMI_SIGNATURE, путем
          // вычисления отпечатка, сформированного выше сообщения,
          // по алгоритму MD5 и представление его в Base64
          $signature = base64_encode(pack("H*", md5($fieldValues . $secret_key)));
          //Добавление параметра WMI_SIGNATURE в словарь параметров формы
          $fields["WMI_SIGNATURE"] = $signature;
        $form = parent::form($fields,$data,\'https://wl.walletone.com/checkout/checkout/Index\');
        return $form;
    }
    function result($data){
        global $wrp_options;
        $secret_key = $wrp_options[\'WO_SECRET_KEY\'];
        $data->pay_summ = $_REQUEST["WMI_PAYMENT_AMOUNT"];
        $data->pay_id = $_REQUEST["WMI_PAYMENT_NO"];
        $data->email_user = $_REQUEST["USER_ID"];
        $data->pay_type = $_REQUEST["TYPE_PAY"];
	
		
        if (!isset($_REQUEST["WMI_SIGNATURE"]))
            $this->print_answer("Retry", "Отсутствует параметр WMI_SIGNATURE");
          if (!isset($_REQUEST["WMI_PAYMENT_NO"]))
            $this->print_answer("Retry", "Отсутствует параметр WMI_PAYMENT_NO");
          if (!isset($_REQUEST["WMI_ORDER_STATE"]))
            $this->print_answer("Retry", "Отсутствует параметр WMI_ORDER_STATE");
          // Извлечение всех параметров POST-запроса, кроме WMI_SIGNATURE
          foreach($_REQUEST as $name => $value)
          {
            if ($name !== "WMI_SIGNATURE") $params[$name] = wp_unslash($value);
          }
          // Сортировка массива по именам ключей в порядке возрастания
          // и формирование сообщения, путем объединения значений формы
          uksort($params, "strcasecmp"); $values = "";
          foreach($params as $name => $value)
          {
            //Конвертация из текущей кодировки (UTF-8)
            //необходима только если кодировка магазина отлична от Windows-1251
            //$value = iconv("utf-8", "windows-1251", $value);
            $values .= $value;
          }
          // Формирование подписи для сравнения ее с параметром WMI_SIGNATURE
          $signature = base64_encode(pack("H*", md5($values . $secret_key)));
          //Сравнение полученной подписи с подписью W1
          if ($signature == $_REQUEST["WMI_SIGNATURE"]){
            if (strtoupper($_REQUEST["WMI_ORDER_STATE"]) == "ACCEPTED"){
              // TODO: Пометить заказ, как «Оплаченный» в системе учета магазина
              if(!parent::get_pay($data)){
                  print_answer("Ok", "Заказ #" . $_POST["WMI_PAYMENT_NO"] . " оплачен!");
                  print "WMI_RESULT=" . strtoupper("Ok") . "&";
                  print "WMI_DESCRIPTION=" .urlencode("Заказ #" . $_POST["WMI_PAYMENT_NO"] . " оплачен!");
                  parent::insert_pay($data);
                  exit;
              }
            }else{
              // Случилось что-то странное, пришло неизвестное состояние заказа
              $this->print_answer("Retry", "Неверное состояние ". $_REQUEST["WMI_ORDER_STATE"]);
            }
          }else{
            // Подпись не совпадает, возможно вы поменяли настройки интернет-магазина
            $this->print_answer("Retry", "Неверная подпись " . $_REQUEST["WMI_SIGNATURE"],$signature);
          }
    }
    function print_answer($result, $description,$signature=false){
      wrp_mail_payment_error($signature);
      print "WMI_RESULT=" . strtoupper($result) . "&";
      print "WMI_DESCRIPTION=" .urlencode($description);
      exit();
    }
}
}
Провел еще один платеж, все равно не обновляется статус(
Письма приходят от wordpress@respectshow.ru, я могу где вывод настроить на сайте чтоб отловить этот баг?
В каких файлах посоветуете поковыряться или идеи может еще есть какие-то?
                    
                    
                    
                