Оформление вида кнопки оплаты РОБОКАССА (помогите с кодом)

OldMen2000

Новичок
Добрый день . Подскажите как изменить вид кнопки при оплате, сервис РОБОКАССА.

есть скрипт магазина, в нем оплату делаю через РОБОКАССУ, скрипт при оформлении счета и оплаты вот часть кода. назовем (часть №1)

Код:
// формирование подписи
$crc = md5("$rcconf[login]:{$order_data[order][final_total_pc]}:{$order_data[order][orderid]}:" . $this->getedd(base64_decode($rcconf['pass1']), 'robokassa'));

return <<<HTMLDATA
$language[final_total] {$order_data[order][final_total_pc]} {$order_data[order][currency_brief]}<br>
(тут выводится итого к оплате)
<form action="$paysys_url" method="POST">
<h3>$language[go_to_payment]</h3> (тут выводится текст перейти к оплате счета)
$language[after_submit]<br>
<input type=hidden name="MrchLogin" value="$rcconf[login]">
<input type=hidden name="OutSum" value="{$order_data[order][final_total_pc]}">
<input type=hidden name="InvId" value="{$order_data[order][orderid]}">
<input type=hidden name="Desc" value="$language[order_n] {$order_data[order][orderid]}">
<input type=hidden name="SignatureValue" value="$crc">
<input type=hidden name="Culture" value="$rcconf[lang]">
<input type=hidden name="Email" value="{$order_data[order]}">
<input type=hidden name="Encoding" value="$engineconf[charset]">
<input type="submit" value="$language[continue]"><br> (тут выводится кнопка с "ОПЛАТИТЬ")
</form>
HTMLDATA;
}

function payment_success(){ ..... и т.д.
кнопка наормально работает переводит для оплаты на сайт робокассы и т.д.,
то что обозначил красным это кнопка которая как то вообще выглядит убого и не презентабельно, на сайте робокассы есть варианты разных кнопок например:
https://auth.robokassa.ru/Merchant/PaymentForm/FormSS.js
содержит в себе вот это
Код:
document.write("<iframe width=\"242\" height=\"55\" style=\"border:0;width:242px;height:55px;overflow:hidden;background-color:transparent;\" allowTransparency=\"true\" src=\"https://auth.robokassa.ru:443/Merchant/PaymentForm/FormSS.if\"></iframe>");
в примере на сайте выводится вот таким образом
часть кода с сайта РОБОКАССЫ


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

// HTML-страница с кассой
// ROBOKASSA HTML-page

print "<html><script language=JavaScript ".
"src='https://auth.robokassa.ru/Merchant/PaymentForm/FormSS.js?".
"MerchantLogin=$mrh_login&DefaultSum=$def_sum&InvoiceID=$inv_id".
"&Description=$inv_desc&SignatureValue=$crc'></script></html>";
?>
то что выделин зеленым пытаюсь вставить в свою часть кода №1 но не работает.

Я особо не силен в PHP совсем чуть чуть, подскажите как внедрить этот код в первую часть.
Заранее всем благодарен.
 
Последнее редактирование:

Andkorol

Новичок
Заскринить что ли этот цветной пипец...
Что характерно: пациент кнопку «Цвет текста» осилил, а кнопка «Код» для него – уже rocket science.
При этом его вопрос – «Оформление вида кнопки ...» :cool:
Забавный случай.
 

OldMen2000

Новичок
Заскринить что ли этот цветной пипец...
Что характерно: пациент кнопку «Цвет текста» осилил, а кнопка «Код» для него – уже rocket science.
При этом его вопрос – «Оформление вида кнопки ...» :cool:
Забавный случай.
Ну москва тоже не сразу строилась, нашел, исправил
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
OldMen2000, у тебя в первом коде php, а во втором - php выводит javascript,
вероятно, надо добавить js в вывод формы.
javascript - это код между тегами <script>
мы не сможем научить тебя совсем основам, этому придется научиться самому
 

mihadm

Новичок
Здравствуйте! Люди добрые помогите решить проблему. Код робокассы
PHP:
<?php

class Robokassa
{
    private $login = null;
    private $pass1 = null;
    private $pass2 = null;
    private $link = 'https://merchant.roboxchange.com/Index.aspx';
    private $testing = false;
    private $success = false;

    function __construct()
    {
        $this->login = $this->params['robokassa_login'];
        $this->pass1 = Yii::app(  )->params['robokassa_pass1'];
        $this->pass2 = Yii::app(  )->params['robokassa_pass2'];

        if (Yii::app(  )->params['robokassa_testing'])
        {
            $this->link = 'http://test.robokassa.ru/Index.aspx';
           
            $this->testing = true;
        }   
    }

    function isSuccess()
    {
        return $this->success;
    }

    function getIdField()
    {
        return 'InvId';
    }

    function getForm($model)
    {   
        $Sign = md5( $this->login . ':' . $model->sum . ':' . $model->id . ':' . $this->pass1 );
        $data['SUM'] = $model->sum;
        $data['URL'] = $this->link;
        $data['Hidden']['MrchLogin'] = $this->login;
        $data['Hidden']['OutSum'] = $model->sum;
        $data['Hidden']['InvId'] = $model->id;
        $data['Hidden']['Desc'] = $model->payDesc;
        $data['Hidden']['SignatureValue'] = $Sign;
       
        return $data;
    }

    function resultUrl($model)
    {
        if ((double)$_POST['OutSum'] != (double)$model->sum)
            return 'Invalid OutSum';
       
        $Sign = md5($_POST['OutSum'] . ':' . $_POST['InvId'] . ':' . $this->pass2 );

        if ($Sign != strtolower( $_POST['SignatureValue'] ))
            return 'Invalid Sign';
       
        $this->success = true;

        return 'OK' . $_POST['InvId'];
    }
}
Скрипт на оплату привилегий, после того как на сайте оформляешь свои желаемые данные, для входа в админку и нажимаеш спец кнопочку оплатить.
По переходу на ссылочку https://merchant.roboxchange.com/Merchant/Error/Common/10951b0b-a256-410b-8152-db86f1ae373e
Вот такая ошибка:
К сожалению, оплата этого счета невозможнаНекоторые параметры счета некорректны
Неверный параметр: MerchantLogin[email protected]
или по телефону:
8 (495) 981 55 00 (для Москвы и области),
8 (800) 100 55 11 (для регионов).
Помогите пожалуйста, подсказать что изменить или добавить в код. Если есть возможность выложить рабочий код. За ранее большая Благодарность за помощь.
 

Вложения

Сверху