Доставка Почтой России и интеграция Онлайн кассы от Атолл 2.X

 
Посетитель
small user social cms
Медаль
Сообщений: 653
Приветствую.

У меня возникла необходимость сделать для одного проекта на двойке интеграцию с Почтой России (расчет стоимости доставки исходя из веса товаров), оплату через шлюз Сбербанка (так для юрлица дешевле выходит, чем через какие-нибудь Робокассы и тд) и пробитие чеков на онлайн кассе от Атолла (а без этого так вообще сейчас работать незаконно).

Собственно вопрос - это кому-нибудь интересно?

Есть два варианта реализации - я не заморачиваюсь и делаю решение конкретно для нужного проекта (так быстрее и проще, не нужно добавлять кучу настроек) .
Второй вариант - заморачиваюсь и делаю универсальный компонент. Конечно, в этом случае, в каталог дополнений отправится платная версия. Это может быть актуально только для коммерческих проектов.

Это должны быть разные компоненты:

1. Интеграция с почтой России
2. Пробитие чеков на онлайн кассе Атолл
3. Оплата через шлюз Сбербанка (не знаю, может в Биллинге это и реализовано - но для проекта нет смысла в Биллинге)
Редактировалось: 2 раз (Последний: 25 сентября 2018 в 19:18)
Посетитель
small user social cms
Медаль
Сообщений: 458
Потенциально это нужные вещи, несколько раз могло понадобиться, но каждый раз несросталось.
Но врятли кто то сидит и ждет пока это появится, каждый решает проблемы по мере их возникновения и теми средствами и возможностями которые есть под рукой, если у инстанта такая возможность появится, то могут выбирать ваше решение... как то так, сугубо моё мнение.

А по существу,
1. вопросов нет, это гуд тема
2. вот тут не совсем понятно как это может существовать отдельно например от пункта 3. Ведь перед тем как пробить чек нужно что то и как то продать.
3. Как бы Герман не старался, а сбер в рф ещё долго будет доминировать, поэтому может быть весьма востребовано, но только естественно с интеграцией с кассами... Кстати шлюз сбербанка может использоваться для гугл пей, которая в свою очередь теперь не только для мобильных приложений доступна, но для сайтов; просто мысли...
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 653
Александр:
2. вот тут не совсем понятно как это может существовать отдельно например от пункта 3.

Да вполне может и отдельно существовать. Оплата может быть и через любой другой шлюз (в Биллинге их подключено много, например Робокасса или Яндекс.Деньги, или Вебмани...). Может быть у кого-то уже есть варианты приема оплаты, но нет именно пробития чеков на онлайн кассе.

Александр:
Но врятли кто то сидит и ждет пока это появится, каждый решает проблемы по мере их возникновения и теми средствами и возможностями которые есть под рукой,
Согласен, у меня вопрос в другом - мне нужно в достаточно сжатые сроки реализовать это на проекте, потому что у них это должно работать еще "вчера". Но, может быть, мне проще сначала сделать все для них (написать, отладить и запустить в работу), а потом уже неспеша, при наличии времени и в свободной обстановке подготовить универсальный компонент..
Посетитель
small user social cms
Медаль
Сообщений: 435
@SmartControl, согласно 54-ФЗ, с 1 июля 2017 года все интернет-магазины, которые принимают оплату банковскими картами, наличными или электронными деньгами, обязаны использовать онлайн-кассы.

В момент оплаты интернет-магазин должен выдавать покупателю бумажный или электронный чек. Для отправки электронного чека нужно взять у покупателя номер телефона или e-mail. А копии электронных чеков должны отправляться в ФНС через оператора фискальных данных.

Есть несколько решений для соответствия 54-ФЗ:

Купить обычную онлайн-кассу и поставить ее в офисе. Возле нее круглосуточно должен находиться сотрудник, который во время оплаты, будет вручную пробивать и отправлять электронный чек. Для этого решения подойдет любая касса из реестра ФНС.

Аренда онлайн-кассы без ее физического нахождения в офисе. В этом случае электронные чеки формируются автоматически и отправляются покупателям по sms или на e-mail. Печать бумажного чека в данном случае не нужна.

Решение от Атол.Онлайн и OFD.ru включает в себя аренду кассы и передачу чеков в ФНС в автоматическом режиме. Касса может пробивать несколько чеков в секунду и работает 24/7, что позволяет пробивать чеки сразу после покупки и отправлять их покупателям.
Посетитель
small user social cms
Медаль
Сообщений: 435
@SmartControl, в том, чтобы печатать чеки на атол (том же 30ф) проблем особых не должно быть. Единственное, "сервер" должен располагаться на рабочем месте оператора =)
Посетитель
small user social cms
Медаль
Сообщений: 653
@IRIPUS:
@SmartControl, в том, чтобы печатать чеки на атол (том же 30ф) проблем особых не должно быть. Единственное, "сервер" должен располагаться на рабочем месте оператора =)

Конечно, сервер будет совсем не на рабочем месте. Он будет в 4 тысячах километров от оператора, а чеки будут печататься через API Атола. Последний абзац вашего коммента как раз про это. Интернет магазин сам формирует чек через API, никаких ограничений на его геолокацию нет.
Редактировалось: 2 раз (Последний: 26 сентября 2018 в 07:23)
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1356
@SmartControl:
оплату через шлюз Сбербанка (так для юрлица дешевле выходит, чем через какие-нибудь Робокассы и тд)
есть готовый класс для оплаты по сберу, API по REST самый простой способ решения.
Другой вопрос если делать как отдельный компонент то к чему привязывать? к контенту чтоб интегрировать в UserCart или просто прием виртуальных денег в биллинг.
Для какой цели он нужен в том проекте??? Можете уточнить?
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
Медаль
Сообщений: 653
kirkr:
Для какой цели он нужен в том проекте??? Можете уточнить?

Проект, в котором мне это нужно - это интернет магазин с доставкой через Почту России и оплатой онлайн через шлюз Сбербанка, ну и соответственно сразу после оплаты нужно пробивать чек на онлайн кассе Атол (требование законодательства). Почта (вычисление стоимости посылки), Сбер и Атол - это все будет работать через API.

kirkr:
или просто прием виртуальных денег в биллинг.
Жесткая привязка к Биллингу точно не нужна. Может быть как один из вариантов использования добавить Биллинг. Но надо чтобы и сама по себе оплата работала, без Биллинга.
Посетитель
small user social cms
Медаль
Сообщений: 151
Единицы из пользователей кому это нужно здесь на форуме, но это определённо решение для многих магазинов, если сделать рекламу такого компонента для иЦМС мне кажется это приведёт немало народа на эту связку опять же как готового решения. Интересно что и почём у конкурентов если смотреть в сторону готовых решений?
Мне например с нового года наверное тоже придётся покупать онлайн кассу, хотя за нал не продаю ... Если уж ставить, то тогда можно было бы и прикрутить к сайту изделия и продавать, правда у меня стёкла и зеркала smile по почте лучше не отправлять :)) Можно было бы интересно менять как-то логистику?
Модератор
small user social cms
МедальКубок зрительских симпатийПочетный донор проекта
Сообщений: 964
Всем привет! Давненько я здесь не появлялся smile
Я делал на работе интеграцию с Атол. Скажу прямо. Очень мутная это тема. В рамках одного проекта еще никуда не шло. А в целом, для системы, чтобы работало на всех проектах... Думаю, не просто. Т
В то же время, есть один клиент. На битриксе. У него встала задача подключить онлайн-кассу. Для битрикса есть готовый модуль для интеграции с Атол. Но, возникли трудности с обновлением Битрикса(интегрированный Едост и куча всего...). И тогда ему, кто-то подсказал про https://online-check.business.ru/ . Сорри за ссылку. Это не реклама. К ресурсу отношения не имею. Просто, думаю, что будет полезно многим. Система интегрируется с экваером. Правда, не знаю, как они чеки формируют. Названия товаров же мы не передаем эквайеру. Но, этот клиент внедрил онлайн-чеки, без никаких изменений на сайте.
Подключить Сбербанк-эквайринг не так и сложно. Есть готовые классы в инете. Схема очень проста. Создается заказ в системе сбера, пользователь редиректится на сбер. Там оплата, и после оплаты редирект обратно на сайт, где можно поймать и обработать результаты оплаты.
Ну, как то так smile
Хватит париться, живи как нравится!
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1356
Марат:
Подключить Сбербанк-эквайринг не так и сложно. Есть готовые классы в инете. Схема очень проста. Создается заказ в системе сбера, пользователь редиректится на сбер. Там оплата, и после оплаты редирект обратно на сайт, где можно поймать и обработать результаты оплаты.
Вы описали схему работы оплаты Сбера по API =)

может кому понадобиться:

Код PHP:
  1.  
  2.  
  3. <?php
  4. class CSberbank{
  5. private static $login = "login";
  6. private static $username = "user";
  7. private static $token = "YRF3C5RFICWISEWFR6GJ";
  8.  
  9.  
  10. function getOrderStatus($orderId) {
  11. // https:/server/application_context/rest/getOrderStatus.do? orderId=b8d70aa7-bfb3-4f94-b7bb-aec7273e1fce&language=ru&password=password&userName=userName
  12. $url = "https://3dsec.sberbank.ru/payment/rest/getOrderStatus.do?orderId=".$orderId."&language=ru&token=".$this::$token."";
  13. $ch = curl_init();
  14. curl_setopt($ch, CURLOPT_URL, $url);
  15. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  16. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  17. $response = curl_exec($ch);
  18. curl_close($ch);
  19.  
  20. if( $response ){
  21.  
  22. $response = json_decode($response, true);
  23.  
  24. if( $response['ErrorMessage'] ){
  25.  
  26. if( $response['OrderStatus'] == 2 ){
  27. return "Спасибо, заказ №".$response['OrderNumber']." оплачен.";
  28. } else {
  29. return "Статус заказа: ".$response['ErrorMessage'];
  30. }
  31.  
  32. }
  33.  
  34. }
  35. return false;
  36. }
  37.  
  38. function registerOrder($total, $order, $returnUrl){
  39. $url = "https://3dsec.sberbank.ru/payment/rest/register.do?amount=".intval($total)."00¤cy=643&language=ru&orderNumber=".$order."&token=".$this::$token."&returnUrl=".$returnUrl."&returnUrl=".$returnUrl."&pageView=DESKTOP&sessionTimeoutSecs=1200";
  40. echo $url;
  41. $ch = curl_init();
  42. curl_setopt($ch, CURLOPT_URL, $url);
  43. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  44. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  45. $response = curl_exec($ch);
  46. curl_close($ch);
  47.  
  48. if( $response ){
  49.  
  50. $response = json_decode($response, true);
  51.  
  52. if( $response['orderId'] && $response['formUrl'] ){
  53. return 'redirect:'.$response['formUrl'];
  54. }
  55.  
  56. }
  57. return false;
  58. }
  59.  
  60. }
  61. $orderId=$_GET['orderId'];
  62.  
  63. //если прилетело от сбера то выполняем этот код
  64. if($orderId){
  65. $doit=new CSberbank();//инициируем класс иначе ниже не будет работать
  66. $geturlsber=$doit->getOrderStatus($orderId);//Проверяем платеж
  67. echo $geturlsber;
  68. }else{
  69. //если нет от сбера инфы,значит клиент желает оплатить и выполняем код ниже.
  70.  
  71. $doit=new CSberbank();//инициируем класс иначе ниже не будет работать
  72. $total='150';//сумма к оплате
  73. $order='443344';//номер заказа
  74. $returnUrl='https://test.ru/test.php';//ссылку куда возвращать после оплаты c переменной уникального платежа
  75. $geturlsber=$doit->registerOrder($total, $order, $returnUrl);
  76. $geturlsberredirect= str_replace('redirect:','', $geturlsber);//обрезаем ссылку,чтоб отправить редирект
  77. $getidsber= str_replace('redirect:https://3dsec.sberbank.ru/payment/merchants/www.3dsec.sberbank.ru/payment_ru.html?mdOrder=','', $geturlsber);//получаем id уникальный в сбере для проверки платежа в последующем.
  78.  
  79. header('Location: '.$geturlsberredirect.'');
  80. }
  81. ?>
  82.  
  83.  
  84.  
ВНИМАНИЕ!! В КОДЕ надо добавить проверку переменных!!!

Если автор UserCart не будет против, то можно будет дописать оплату.
Редактировалось: 1 раз (Последний: 28 сентября 2018 в 13:49)
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
Медаль
Сообщений: 653
IceBreaker:
Интересно что и почём у конкурентов если смотреть в сторону готовых решений?
Надо делать анализ рынка.. но там дело в том, что надо в самом магазине много дописывать и мне проще делать это на InstantCMS, чем на битриксе или еще на чем-то.. Там скорее решения в виде - купил и работай. А если нужно по-другому, то будет дорого и долго.

Марат:
Я делал на работе интеграцию с Атол. Скажу прямо. Очень мутная это тема.
У моих ребят 30 оффлайн магазинов - они знают что такое онлайн кассы и что такое Атол. Но вот в интернет магазине оплат пока не было, так что там без вариантов. Атол и всё, ну и сбербанк напрямую) С битриксом у них не сложилось - там 2 года официальные партнеры Битрикса разрабатывали магазин, потом сдулись со словами "на битриксе реализовать такое очень сложно".
Посетитель
small user social cms
МедальАвторитет форумаПочетный донор проекта
Сообщений: 1356
Документацию по сбербанку надо?
Фриланс по Intantcms 1 и 2 версий.Писать в ЛС. Отзывы заказчиков
Посетитель
small user social cms
Медаль
Сообщений: 653
kirkr, да у меня все вроде есть. И документация, и доступ в личный кабинет. Логин и токен мерчанта..
а сберовская документация на developer.sberbank.ru
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 193
IceBreaker:

Единицы из пользователей кому это нужно здесь на форуме, но это определённо решение для многих магазинов, если сделать рекламу такого компонента для иЦМС мне кажется это приведёт немало народа на эту связку опять же как готового решения. Интересно что и почём у конкурентов если смотреть в сторону готовых решений?
Мне например с нового года наверное тоже придётся покупать онлайн кассу, хотя за нал не продаю ... Если уж ставить, то тогда можно было бы и прикрутить к сайту изделия и продавать, правда у меня стёкла и зеркала smile по почте лучше не отправлять :)) Можно было бы интересно менять как-то логистику?

А мне тоже это интересно!Вот если бы можно было сделать не только Атол-онлайн, а возможность подключать свою онлайн-кассу. Сейчас просто отправляю чек на эл.почту после оплаты, а вот если б сделать, чтоб он в автомате отправлялся при оплате на сайте.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.