Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

проблема:

 

 

 

К сожалению, оплата этого счета невозможна

Некоторые параметры счета некорректны
Неверный параметр: Signature

 

пароли проверял и менял на очень простые несколько раз

 

ответ робокассы

 

 

Добрый день! Данная ошибка возникает только на стороне магазина. Проверять необходимо скрипт, отвечающий за инициализацию оплаты, а именно, ту часть, что формирует Signature по формуле, состоящей из переменных. Самые распространенные неточности, из-за которых может неверно считаться MD5: 1. Используется некорректный Идентификатор магазина; 2. Используется некорректный Пароль 1 (MerchantPass1); 3. Используются дополнительные пользовательские параметры (shp), которые добавлены в программный код кассы, но не занесены в формулу подсчета или наоборот, в формуле подсчета указаны, в коде их нет.

 

обрыл всю инфу по коду, но кривые руки не дают возможности решить вопрос

 

вот исходник robokassa.php:

 

 

<?php
 
require_once('api/Simpla.php');
 
class Robokassa extends Simpla
{    
    public function checkout_form($order_id, $button_text = null)
    {
        if(empty($button_text))
            $button_text = 'Перейти к оплате';
        
        $order = $this->orders->get_order((int)$order_id);
        $payment_method = $this->payment->get_payment_method($order->payment_method_id);
        $payment_settings = $this->payment->get_payment_settings($payment_method->id);
        
        $price = $this->money->convert($order->total_price, $payment_method->currency_id, false);
        
        $success_url = $this->config->root_url.'/order/'.$order->url;
        
        $fail_url = $this->config->root_url.'/order/'.$order->url;
                
        // регистрационная информация (логин, пароль #1)
        // registration info (login, password #1)
        $mrh_login = $payment_settings['login'];
        $mrh_pass1 = $payment_settings['password1'];
        
        // номер заказа
        // number of order
        $inv_id = $order->id;
        
        // описание заказа
        // order description
        $inv_desc = 'Оплата заказа №'.$inv_id;
                
        // метод оплаты - текущий
        $shp_item = $payment_method->id;
        
        // предлагаемая валюта платежа
        // default payment e-currency
        $in_curr = "PCR";
        
        // язык
        // language
        $culture = $payment_settings['language'];
        
        // формирование подписи
        // generate signature
                $signature = md5($mrh_login . ":" . $price . ":" . $inv_id . ":" . $mrh_pass1);
 
 
    
        $button =    "<form accept-charset='cp1251' action='https://merchant.roboxchange.com/Index.aspx' method=POST>".
                    "<input type=hidden name=MrchLogin value='$mrh_login'>".
                    "<input type=hidden name=OutSum value='$price'>".
                    "<input type=hidden name=InvId value='$inv_id'>".
                    "<input type=hidden name=Desc value='$inv_desc'>".
                    "<input type=hidden name=SignatureValue value='$crc'>".
                    "<input type=hidden name=IncCurrLabel value='$in_curr'>".
                    "<input type=hidden name=Culture value='$culture'>".
                    "<input type=submit class=checkout_button value='Перейти к оплате →'>".
                    "</form>";
        return $button;
    }
 
}

 

 

кто может глянуть исходник кода своей рабочей робокассы?

 

Ссылка на сообщение
Поделиться на другие сайты

У вас используется переменная $signature  при генерации md5(), но ее в форме нету, там у вас вместо нее $crc 

и, у меня код генерации сигнатуры через strtoupper(), я уже не помню почему :)

 

$crc  = strtoupper(md5($mrh_login.":".$price.":".$inv_id.":".$mrh_pass1));
 
Изменено пользователем comAT0Zz
Ссылка на сообщение
Поделиться на другие сайты

В текущей версии стоит

 

        // формирование подписи
        // generate signature
        $crc  = md5("$mrh_login:$price:$inv_id:$mrh_pass1");
 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...