forum.bitel.ru http://forum.bitel.ru/ |
|
Вычисление комиссии http://forum.bitel.ru/viewtopic.php?f=82&t=11423 |
Страница 1 из 1 |
Автор: | alf_from_melmok [ 04 мар 2016, 17:08 ] |
Заголовок сообщения: | Вычисление комиссии |
Добрый день! Начинаем работу с платежной системой SimplePay. И получаем некоторое недопонимание алгоритма работы. В настройках модуля имеем: Код: simplepay.commission.type=2 simplepay.commission.percent=6 Задача: Переложить комиссию связанную с услугами платежных систем на клиента. При условии, что мы не знаем какое электронное платежное средство (КИВИ, Яндекс.Деньги, пластиковые карты и т.д.) выбрал клиент когда ушел со страницы ЛК БГБ. Наше текущее решение: В зависимости от электронного платежного средства (киви, яндекс, вэбмани, карты) комиссия у нас составляет от 3,5% до 6%. Поскольку не ясно какой тип оплаты выбрал клиент (когда пошел на сайт ПС платить из ЛК) мы ставим фиксированную комиссию по максимальной ставке 6%. Здесь мы не хотим (да и не имеем права) зарабатывать на разнице истинной комиссии: для пластиковых карт, например, это 3,5% и выставленной в настройках модуля максимальной комиссии 6% (для дорогих систем типа Яндекс.Деньги). Другого варианта покрытия комиссии мы не нашли (и это у нас первая проблема работы с этим модулем). По этой проблеме SimplePay не может нас сейчас закрыть и высчитывать корректно комиссию на своей стороне, а лишь предлагает использовать свое API для подсчета правильной исходной суммы (с учетом конечной комиссии) платежа для клиента в зависимости от выбранного электронного платежного средства. Но эта фича их API в модуле БГБ не реализована (мы сейчас платный подписчик модуля). Вторая наша проблема более серьезная и заключается она в некорректном расчете комиссии, при simplepay.commission.type=2 (комиссия сверху). Сейчас если клиент ввел в ЛК БГБ - 1 000 руб. к оплате, модуль прибавит к сумме 6%, и отправит в SimplePay к оплате = 1 060 рублей. SimplePay возьмет 6% от 1 060 рублей и отправит нам на счет: 1060 рублей - 63 рубля и 60 копеек = 996 рублей 40 копеек. Что не бьется в обратную сторону, т.е. к нам на счет придет - 996 рублей 40 копеек, а на счет клиенту БГБ положит ровно 1000 рублей. Т.е. при simplepay.commission.type=2 надо считать не простым прибавлением 6% к 1 000 рублей, а например так: 1000/ ((100-6)/100) = 1000/0.94 = 1063.8 Просьба помочь разобраться. |
Автор: | skn [ 04 мар 2016, 17:27 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
а зачем вы вообще считаете комиссию, ПС не может просто сама брать ее с клиента т.е. вы выставляете счет на 100 руб., а ПС берет с клиента 100 + свой% simplepay.commission.type=2 (комиссия сверху) - это ваша комиссия, а не платежной системы, т.е. при этом режиме от ПС должно прийти 1060 руб., а вы уже на счет клиенту зачислите 1060 руб платеж + 60 руб расход |
Автор: | alf_from_melmok [ 04 мар 2016, 18:08 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
1. Клиенту сообщили что у него задолженность 100 руб. по услугам, он идет в личный кадинет вводит 100 руб. к нам на счет поступает 100 руб. - 6%, результат - денег не достаточно для включения. Нам нужно сообщить клиенту о том, что взимается комиссия и точно указать сумму платежа с комиссией чтобы вернуть нам свои 100 рублей. А клиенту не сидеть с калькулятором перед экраном и выделять процент. Как нам сделать в текущей реализации модуля simplepay? Это как зарплата до вычета налогов и с вычетой налогов (на руки). SimplePay не умеет считать ее на своей стороне, он берет ее с отправленной из ЛК БГБ суммы. 2. можно для нас сделать simplepay.commission.type=3 (комиссия ПС), чтобы он счиатлся по формуле, для 1000 рублей: 1000/ ((100-6)/100) = 1000/0.94 = 1063.8, для 6% в simplepay.commission.percent |
Автор: | skn [ 04 мар 2016, 18:30 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
alf_from_melmok писал(а): 1. Клиенту сообщили что у него задолженность 100 руб. по услугам, он идет в личный кадинет вводит 100 руб. к нам на счет поступает 100 руб. - 6%, результат - денег не достаточно для включения. Нам нужно сообщить клиенту о том, что взимается комиссия и точно указать сумму платежа с комиссией чтобы вернуть нам свои 100 рублей. А клиенту не сидеть с калькулятором перед экраном и выделять процент. Как нам сделать в текущей реализации модуля simplepay? Это как зарплата до вычета налогов и с вычетой налогов (на руки). SimplePay не умеет считать ее на своей стороне, он берет ее с отправленной из ЛК БГБ суммы. 2. можно для нас сделать simplepay.commission.type=3 (комиссия ПС), чтобы он счиатлся по формуле, для 1000 рублей: 1000/ ((100-6)/100) = 1000/0.94 = 1063.8, для 6% в simplepay.commission.percent 1) это вообще то нормальная ситуация, например вам выписывают ДПС штраф на 500 руб., вы приходите в банк, где вам говорят типа комиссия N%, типа итого с вас 500+N% (гаишник не занимается вычислением сколько вы должные заплатить что бы с учетом комиссии получилось сколько надо). можете использовать simplepay.commission.type=1 (но там надо клиенту подбирать сумму, чтобы с учетом комиссии получилось нужная сумма) 2) можно, но для клиента это будет не понятно, почему с 1000 руб комиссия 6% = 63,8 руб. и это не совсем честно с точки зрения платежной системы, так как получается ПС берет % за свою же комиссию... |
Автор: | alf_from_melmok [ 04 мар 2016, 20:26 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
1. Тогда получается в текущей реализации нет нужного механизама работы с SimplePay. Потому что сейчас так - вам ДПС выписал штраф - 500 рублей. Вы его плачиваете через БГБ с модулем SimplePay и платите через них 500 руб., SimplePay берет ваши 500 рублей минус N рублей и отправляют в ДПС 500-N рублей (ничего вам не сообщая), ДПС получит частичную оплату и вышлет за вами ицелопа с транклюкатором. У которого (если повезет) можно будет выяснить величину комиссии которую забрал SimplePay с ваших 500 и через кого выгоднее платить в след. раз. Еще раз связался с SimplePay - они подтвердили что не могут брать комиссию явно. 2. Это понятно. Но мы без этого просто не можем корректно считать взаимодействие с ними. Пусть это будет процент на добавленную стоимость наших услуг. |
Автор: | skn [ 04 мар 2016, 21:52 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
alf_from_melmok писал(а): 1. Еще раз связался с SimplePay - они подтвердили что не могут брать комиссию явно. 2. Это понятно. Но мы без этого просто не можем корректно считать взаимодействие с ними. Пусть это будет процент на добавленную стоимость наших услуг. 1) все остальные ПС могут, а эти особенные... 2) какая версия биллинга? |
Автор: | alf_from_melmok [ 04 мар 2016, 22:02 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
2. Версия 6.2 |
Автор: | skn [ 05 мар 2016, 14:06 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Кстати ПС не может брать комиссию, а вы можете? Это законно? У вас в прайсе и договорах с клиентами есть такая услуга? Да ещё вам придётся платить налоги с этих комиссий. |
Автор: | alf_from_melmok [ 05 мар 2016, 14:31 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Задавал этот вопрос SimplePay - они сообщили, что юридически это оформляют сейчас - и как будет готово, они смогут наконец оперировать корректной суммой при платеже. У нас таких услуг нет и в договоре не прописано. Мало того, мы не хотим даже с этим связываться. Нам надо просто сделать так чтобы накладной расход который с нас вычитают (по любому) бился с тем что вводит клиент в ЛК БГБ. Принципиально, процент мы брать не хотим и не будем. У SimplePay есть в API проверка конечного процента от исходной суммы - чьи эти проценты нам в общем-то не интересно, нам ВАЖНО иметь в ЛК БГБ механизм, который покажет клиенту, что с него с дерут вот столько-то, а на счет к нам должны прийти требуемые с него - наши 100 рублей, за которые мы и отчитаемся перед налоговой. А кто там что снял - пусть уже инспектор разбирается с всеми этими ПС, банками-экваерами и прочими кровососами. |
Автор: | skn [ 05 мар 2016, 15:18 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
сейчас при включений комиссии в модуле они заносятся на договор в виде расходов... просто в зависимости от режима, вся сумма заносится как приход + расход в размере комисии |
Автор: | alf_from_melmok [ 05 мар 2016, 16:58 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Т.е. получается что комиссия это наш доход с которого мы должны будем заплатить налог и нам надо прописать это в договор? И больше никак? Мне кажется даже в этом случае, формулу расчета комиссии надо тогда привести в соответствие со снятым процентом от ПС, иначе перечисленная сумма не прозрачна для бухгалтерии. |
Автор: | alf_from_melmok [ 09 мар 2016, 13:23 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Сделайте пожалуйста simplepay.commission.type=3 (комиссия ПС) |
Автор: | skn [ 09 мар 2016, 13:31 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
сделали |
Автор: | alf_from_melmok [ 09 мар 2016, 14:13 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Спасибо, большое. |
Автор: | skn [ 22 мар 2016, 20:19 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
подправили |
Автор: | alf_from_melmok [ 23 мар 2016, 17:26 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Ой. Поставили код и нашли сразу ошибку. Сейчас сумма платежа отправленная на их гейт вообще не содержит вложенную комиссию - или мы что-то не так делаем? Т.е. пользователь ввел 1000 руб., выскочила та картинка с процентом, а сумма на шлюз ушла что была введена пользователем - 1000 руб., без комиссии. |
Автор: | skn [ 23 мар 2016, 18:39 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
исправлено |
Автор: | alf_from_melmok [ 23 мар 2016, 20:13 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
обновились.... теперь при переходе на платежный гейт Код: Ошибка 110
Отсутствует или не действует контракт с магазином |
Автор: | skn [ 24 мар 2016, 03:51 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
А в логах ошибок нет? |
Автор: | alf_from_melmok [ 24 мар 2016, 12:59 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
Есть. Имел неосторожность обновиться на боевом сервере. Код: server 03-23/17:12:05 ERROR [http-bio-0.0.0.0-8080-exec-9] ActionHandler - Exception in ru.bitel.bgbilling.modules.simplepay.server.action.web.ActionDoTransaction:getOrderId server 03-23/17:12:05 ERROR [http-bio-0.0.0.0-8080-exec-9] CommonExecutor - Произошла ошибка ru.bitel.bgbilling.common.BGException: Произошла ошибка at ru.bitel.bgbilling.kernel.container.web.action.ActionHandler.handle(ActionHandler.java:94) at bitel.billing.server.WebExecuter.executeAction(WebExecuter.java:463) at bitel.billing.server.WebExecuter.doPost(WebExecuter.java:215) at bitel.billing.server.WebExecuter.doGet(WebExecuter.java:79) at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at ru.bitel.common.server.filters.MultipartFilter.doFilter(MultipartFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at ru.bitel.common.server.filters.XSSFilter.doFilter(XSSFilter.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at ru.bitel.common.server.filters.BGAuthFilter.doFilter(BGAuthFilter.java:276) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. at java.math.BigDecimal.divide(BigDecimal.java:1690) at ru.bitel.bgbilling.modules.simplepay.server.action.web.ActionDoTransaction.getOrderId(ActionDoTransaction.java:128) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at ru.bitel.bgbilling.kernel.container.web.action.ActionInfo.invoke(ActionInfo.java:41) at ru.bitel.bgbilling.kernel.container.web.action.ActionHandler.handleImpl(ActionHandler.java:150) at ru.bitel.bgbilling.kernel.container.web.action.ActionHandler.handle(ActionHandler.java:73) ... 34 more |
Автор: | skn [ 24 мар 2016, 16:03 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
исправлено |
Автор: | alf_from_melmok [ 24 мар 2016, 18:00 ] |
Заголовок сообщения: | Re: Вычисление комиссии |
обновились. вроде работает. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |