Последние темы


Revo + PHP + LiqPay = грабли

  • Глюк пришёл откуда не ждали: суть - LiqPay хочет, что бы сумму передавали не строкой, а числом! но как только я пишу в коде

    $amount = settype($pt, "float"); // или (int) $pt
    

    он вместо преобразования - возвращает нуль!!!

    версия PHP-5.4

    полный код:

    // [[liqpay? &pt=`[[+shk.price]]` &oi=`[[+shk.id]]`]]
    
    $public_key = 'i1687733****';
    $private_key = 'dEABQRZsXvHsTjA0Cf6U0ss9WaNBHNdIP****';
    
    $amount = settype($pt, "float");
    $order_id = $oi;
    
    $description = 'Оплата в магазине www.austpharma.com.ua';
    $data = base64_encode(
              json_encode(
                array('version'     => 3,
                      'public_key'  => $public_key,
                      'private_key' => $private_key,
                      'amount'      => $amount,
                      'currency'    => 'UAH',
                      'description' => $description,
                      'order_id'    => $order_id,
                      'sandbox'     => 0 )
              )
            );
    $sig = base64_encode( sha1( $private_key . $data . $private_key, 1) );
    echo '
       <form method="POST" action="https://www.liqpay.com/api/checkout"
       accept-charset="utf-8">
         <input type="hidden" name="data" value="'.$data.'" />
         <input type="hidden" name="signature" value="'.$sig.'" />
         <input type="image" src="//static.liqpay.com/buttons/p1ru.radius.png" />
       </form>';
    
  • он вместо преобразования - возвращает нуль!!!

    Кто "он"? LiqPay или settype?

    Я думаю нужна строка, но правильно отформатированная

    $amount = number_format($pt, 2, '.');
    
 

Последние комментарии

  • @Andchir Чета не додумался. Спасибо огромное, завелось.

    Читать далее
  • Потому что в этой функции нет объекта $modx. Можно попробовать добавить такую строчку вверху функции (внутри):

    global $modx;

    Читать далее
  • Добрый день.
    Задача: Есть таблица где записываются id данных из других созданных таблиц.
    Нужно в функции filter_export и filter_import объединить данные из разных таблиц.

    Как я пробывал решить свою задачку:

    function filter_export($value_arr,$doc_id=0) { //var_dump($output_arr); //exit; $output_arr = $value_arr; if(isset($output_arr['execution'])) { $ids = $output_arr['execution']; $result = $modx->query("SELECT * FROM LKp3KJ_my_execution WHERE id = $ids"); $row = $result->fetch(PDO::FETCH_ASSOC); $output_arr['execution'] = $row[title]; } /* if(isset($output_arr['price'])) $output_arr[1] = floatval($output_arr[1]) - 200; */ return $output_arr; }

    В ответ получаю 500 ошибку на странице импорт/экспорт.

    Читать далее
  • Спасибо за содействие! Приношу извинения за неудобства.

    Читать далее