Зачастую в базе денежные величины хранятся в виде DECIMAL(N,2) (в случае MySQL)
Из базы они приходят, соответственно, как строка «99.00».
При арифметических операциях это роли не играет, тип автоматически будет приведен к float.
А вот при конкатенации строк, одна из которых такое «число», в результирующую строку попадет как раз «99.00», а не ожидаемое Робокассой «99». И хэш уже будет неверным.
>>При склеивании строк конечно же будут учитываться нули, ибо строка. :)
Несомненно.
>>При floatval() строка переводится в число с плавающей точкой
И с этим не спорю.
>>Вы написали, что floatval() нужен для обрезания точки и значений после
Да, в случае нулевой дробной части числа. А точнее — для обрезания незначащих нулей.
>>А чего вы хотите делает intval() или просто (int)$переменная.
Неверно. Точнее — неприменимо. Сумма может быть дробной.
>>При склеивании строк конечно же будут учитываться нули, ибо строка. :)
Несомненно.
>>При floatval() строка переводится в число с плавающей точкой
И с этим не спорю.
>>Вы написали, что floatval() нужен для обрезания точки и значений после
Да, в случае нулевой дробной части числа. А точнее — для обрезания незначащих нулей.
>>А чего вы хотите делает intval() или просто (int)$переменная.
Неверно. Точнее — неприменимо. Сумма может быть дробной.
Если бы я был автомехаником, грош мне цена, если бы я не знал устройства автомобильного кондиционера.
Если я автовладелец — мне пофигу на устройство кондиционера.
Если я программист, пользоваться готовыми решениями и не понимать как они работают — моветон.
Если Вам пофигу на устройство чужого кода — это странно для программиста.
Отчасти знаю, потому что работаю в финансовой сфере.
Остальную часть — хочу узнать. Когда-нибудь.
То есть мне не пофигу. Мне это интересно.
Вы же ничего не хотите. Напомню, что в свое время стремление «скачать по быстрому компонент и кинуть на форму» погубило Delphi (впрочем, и хрен-то с ним).
> Отчасти знаю, потому что работаю в финансовой сфере.
По вашему получается, что Бух. тоже от части знает, интереное дело :)
>Остальную часть — хочу узнать. Когда-нибудь.
>То есть мне не пофигу. Мне это интересно.
А кто говорил про пофигу и нет?
>Вы же ничего не хотите.
Ну этого я нигде не говорил.
Я про то, что вот так говорить о том, что я не знаю и не буду этим пользоваться — это не праивльно.
Если же конечно вы не цените свое время и готовы на написание такого же функциона потратить хх часов времени вместо х на использование готового, то конечно же это ваш выбор :)
Лан поговорила и хватит, а то еще подумаете, что я тут самый умный и на вас наезжаю, я так просто, мимо проходил :)
Про неебическую комиссию лучше напишите :)
А то за почти 2 года после установки робокассы как одного из способов оплаты наших услуг, ей воспользовались не больше десятка клиентов на какие-то мизерные суммы…
Это если договор на юр лицо оформлен, а если на физическое то там прием средств производиться на основании оферты обмена валют, и берут комиссию с покупателя, я специально уменьшаю стоимость при выставлении счета что бы покупатель сумму не видел кривую.
У нас за год прошло через Робокассу несколько миллионов рублей.
И комиссия лежала всегда на плечах платящего.
Она, кстати, не неебическая, а 5% (если не брать в учет «оплату через СМС», которой пользуются только альтернативно одаренные).
Так что, возможно, проблема вовсе не в Робокассе, а в тех услугах, которые вы предоставляете.
Кстати, если ваша маржа такова, что вы можете платить комиссию Робокассе за вывод на расчетный счет (те самые 5%) самостоятельно, то для клиентосов «все бесплатно».
Интересует:
1. После оплаты юзером, может ли сервис получить параметры от Робокассы? В идеальном случае: найти в базе данных сайта этого юзера и прописать ему параметр «оплачено». Естественно дергаться должен скрипт лежащий на моем сайте.
2. Возможна ли оплата по подписке, когда через заданный период снимается заданная сумма со счетов (пластика) юзера?
1. Может, у них есть xml интерфейс — можно узнать список валют, курсы обмена и состояние текущего платежа. Примеры есть у них в документации (ссылку автор приводил)
2. По-моему нет, но возможно ошибаюсь.
3. В админке можно указать: пароль 1, пароль2, как считается crc автор написал. НО не написал он о том, что на Success URL и Fail URL передаются те же параметры, что и на Result URL, а crc считается с «пароль 1».
P.S. Вместо этой заметки лучше почитать офф сайт — там намного подробнее (здесь, например, описания как передавать свои параметры) + примеры кода (Perl, ASP — Jscript, ASP.NET).
Автор не упомянул о безопасности, например о том что надо обязательно проверять с какого IP адреса идет запрос на указанные в интерфейсе адреса. А-то накопипастят некоторые горе-кодеры, потом будут кусать локти…
Хорошая статья для новичков. Могу добавить только что подключение к др. платежным системам, например RBK-Money происходит аналогично, там тоже есть URL для уведомления о платеже, проверка CRC ключа и т.д.
Такой вопрос, есть интернет-магазин, подключен к робокассе, деньги выводятся на расчетный счет Юр. лица, сам интернет магазин продает услуги, точнее является посредником между продавцом и покупателем, беря свой % за это. То есть покупатель вводит деньги в систему (они через робокассу попадают на р/с фирмы), затем продавец оказывает ему услугу и деньги должны быть переведены ему (либо на пластиковую карточку, либо на электронный кошелек, не суть)
Каким образом организовать вывод средств с расчетного счета магазина на счет продавца? А именно:
1) Можно ли как-то автоматизировать вывод средств, а именно перевод с р/с фирмы др. участникам системы на их банковский счет, либо эл. деньги либо еще как?
2) Юридический аспект, на основании чего переводить деньги с р/с фирмы к продавцу? Можно ли использовать соглашение или договор прямо на сайте, чтобы с каждым индивидуально не подписывать договор?
Добавлю свои 5 копеек, т. к. недавно тоже подключились к Робокассе. Во-первых, вместе с необходимыми параметрами запроса можно также передавать дополнительные собственные параметры, собственно об этом в документации у них на сайте написано. А вот что не описано очевидным образом, так это то, что при подсчете md5 данные поля должны стоять в алфавитном порядке. Т. е. если указаны два параметра shpbbb и shpaaa, в md5 они должны идти: md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:shpaaa=$shpaaa:shpbbb=$shpbbb");
Второй момент. Если вы подключены как юр. лицо, то доступа к платежам через qiwi не получите сразу. Это как-то тоже не очевидно. Раз в месяц Робокасса отправляет данные по новым мерчантам в Киви, после этого специалисты по безопасности Киви проверят магазин и только после этого подключат и сообщат в Робокассу.
Кстати, а к другим платежным системам кто-нибудь подключался? Мы, например, подключались к ассисту и хронопею и мне интересно, это только у нас только геморроя возникло с ними или у всех так? К ассисту, например, полтора месяца подключались… А в хронопей написьма отвечают через несколько дней…
Ок. Я собственно про агрегаторов спрашивал, типа Робокассы. Мы пробовали работать с Assist и Chronopay, морока и волокита. Такое ощущение, что клиенты этим компаниям не нужны…
О Робокассе наглядно