Помогите, крошечная ошибка в коде платежного шлюза

Статус
В этой теме нельзя размещать новые ответы.

ater123

Гуру форума
Регистрация
4 Сен 2015
Сообщения
100
Реакции
52
Есть платежный шлюз Робокасса, столкнулся с проблемой невозможности оплатить больше 999р. пенял на ограничения но оказалось ошибка в коде, помогите выявить.
Есть строка
Код:
$outSum = number_format($invoice->getTotal(), 2);
которая ограничивает по непонятной мне причине сумму оплаты до 999р робокасса выбивает ошибку но если сделать
Код:
$outSum = "6999";
все в порядке, сумма проходит, в чем может быть проблема, весь код скрипта во вложении..
 

Вложения

  • robokassa.7z
    3,1 KB · Просмотры: 3
Есть платежный шлюз Робокасса, столкнулся с проблемой невозможности оплатить больше 999р. пенял на ограничения но оказалось ошибка в коде, помогите выявить.
Есть строка
Код:
$outSum = number_format($invoice->getTotal(), 2);
которая ограничивает по непонятной мне причине сумму оплаты до 999р робокасса выбивает ошибку но если сделать
Код:
$outSum = "6999";
все в порядке, сумма проходит, в чем может быть проблема, весь код скрипта во вложении..
Замени:
Код:
$outSum = number_format($invoice->getTotal(), 2);
на:
Код:
$outSum = number_format($invoice->getTotal(), 2, '.', '');
 
Благодарю, находился в сантиметре от ответа.
Оказывается это функция PHP number_format возвращающее отформатированное число, а Робокасса требует разделитель точкой.
Код:
<?php

$number = 1234.56;

// английский формат (по умолчанию)
$english_format_number = number_format($number);
// 1,234

// французский формат
$nombre_format_francais = number_format($number, 2, ',', ' ');
// 1 234,56

$number = 1234.5678;

// английский формат без разделителей групп
$english_format_number = number_format($number, 2, '.', '');
// 1234.57

?>

 
Оказывается это функция PHP number_format возвращающее отформатированное число, а Робокасса требует разделитель точкой.
Оппа, а ошибки не было? Нормальное апи при получении неожиданного формата данных должно ругнуться.

PS: помимо [code][/code] есть еще [php][/php] и [html][/html] - код внутри них красиво подсвечивается в соответствии с синтаксисом и становится более читаемым.
 
Поправка решила проблему ошибки, которая была свыше 4-х чисел, 3-х и 4-х значные после точки воспринимает хорошо
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху