Содержание

Способы оплаты


Способы оплаты используются в счетах и коммерческих предложениях. Список способов оплаты расположен на странице CRM — Настройки — Способы оплаты.

Как это работает?


По умолчанию, в Битрикс24 настроены формы для банковского перевода и предложения.


Вы можете добавить свой способ оплаты или отредактировать существующий. Рассмотрим настройки на примере стандартного банковского перевода для контактов.


Основной шаг — это выбор обработчика. Это может быть как документ CRM — например, счет или предложение. Так и электронный сервис — например, Paypal или ЮKassa.


Затем необходимо выбрать тип клиента — контакт или компания.


На вкладке Продавец можно настроить подписи, печать и логотип.


Раздел Организация покупателя позволяет показать или скрыть информацию о плательщике.


На вкладке Основное вы можете указать заголовок и назначение счёта, а также скрыть шапку и блок Итого.


Раздел Стили позволяет изменить внешний вид документа — добавить фон и изменить отступы.


На вкладке Колонки можно отредактировать таблицу товаров — изменить заголовки, добавить или убрать колонки.


Например, добавим в счёт колонку с цветом товара. Для этого выберем пункт Добавить свойство.


Теперь выберем нужное свойство — Цвет и укажем положение в таблице с помощью сортировки.

Как настроить электронный способ оплаты?


Для настройки Paypal или ЮKassa необходимо предварительно заключить договор с сервисом. После этого сервис пришлёт вам персональные данные, которые вы сможете внести в Битрикс24.

Подробнее читайте в инструкции по регистрации в ЮKassa.


Теперь клиенты смогут оплатить ваш счёт через публичную ссылку.


Битрикс24 может автоматически переводить счёт в статус Оплачен при получении оплаты. Для этого перейдите в настройки способа оплаты и выберите опцию Показать все поля.


Теперь перейдите на вкладку Основная и поставьте галочку Автоматически оплачивать заказ.

Печать документов счёта


В способах оплаты вы также можете использовать шаблоны документов CRM.

Подробнее читайте в статье Документы в CRM.


Для этого укажем обработчик Печать документов счёта.


И выберем нужный шаблон — например, счёт-фактура.


Теперь при печати счёта Битрикс24 создаст счёт-фактуру по выбранному шаблону.

Интеграция с PayPal для сайта на 1С-Битрикс

С ребятами работаем уже 2 года. Отличная команда, отличный подбор программистов.

Практически в любое время суток есть связь с руководителями. Критичные вопросы можно решить даже в 2 часа ночи (для нас как интернет-проекта это очень важно).

Время, когда начинали сотрудничество с Атлантом сейчас вспоминается с легкой ухмылкой. А тогда -
все было очень плохо.
Решили кардинально изменить сайт — старый «снести» и перейти на 1С-Битрикс.

Разработку сайта поручили фрилансеру. Он все сделал, сверстал сайт. Но прямо перед запуском у него случились какие-то трудности, 2 недели мы без связи. О нем ничего плохого сказать не могу, но — факт на лицо. Мы остались с недоработанной копией сайта (более 30 критичных доработок).

Как быть в такой ситуации — понятия не имели. Стали искать среди Золотых партнеров Битрикса, которые могли бы нам помочь в сложившейся ситуации.

Написали порядка сотни запросов.

Ответ от Атланта выделялся среди всех! Стоимость за работы оказалась одной из самых низких. Уверенность придавала пошаговая инструкция, что ребята собираются сделать с сайтом.

В итоге, запустили сайт, работаем с ними и ни разу не пожалели!

В первые 6 месяцев после начала сотрудничества — у нас рост продаж в 2 раза. Ставим любые, даже самые сложные задачи. Все выполняется.

Удобно, что все в одном месте: работы по сайту, 1С, хостинг, seo, дизайн и т.д.

Рекомендуем!

Андрей Рудый ( Директор — LEDPremium )

Экспресс-платежи PayPal теперь поддерживаются «1С-Битрикс: Управление сайтом»

Экспресс-платежи PayPal теперь поддерживаются «1С-Битрикс: Управление сайтом»

Компания «1С-Битрикс», лидер среди систем управления сайтами (CMS) в России, подключила оплату электронных экспресс-платежей PayPal. Теперь онлайн-магазины, использующие продукт «1С-Битрикс: Управление сайтом», могут предоставить своим покупателям еще более удобный, быстрый и безопасный способ оплаты покупок.

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

При использовании экспресс-платежей PayPal покупатели оформляют свои заказы на веб-сайте онлайн-магазина, а не на сайте PayPal. Это позволяет онлайн-магазину получать уведомления об успешной обработке платежей в реальном времени и обеспечить полное прохождение клиентами процедуры подтверждения заказа. Уведомления о подтверждении адреса покупателя позволяет реализовать права продавца в рамках политики защиты продавца PayPal.

Среди прочих преимуществ, которые PayPal предлагает клиентам «1С-Битрикс» в России, — бесплатное открытие счета и отсутствие ежемесячных комиссий, простая установка на веб-сайт и возможность принимать платежи со всего мира в 26 валютах, включая рубли.

«Мы работаем над тем, чтобы технологии электронной коммерции в России активно развивались. Наша компания предоставляет своим пользователям простой и безопасный способ оплаты покупок в интернете, а локальным партнерам мы стараемся обеспечивать максимальную поддержку. Компания «1С-Битрикс» уже давно сотрудничает с PayPal, и мы рады, что теперь наше взаимодействие выходит на новый уровень», — сказал Владимир Малюгин, Региональный директор PayPal в России и Беларуси.

Генеральный директор компании «1С-Битрикс» Сергей Рыжиков отмечает: «PayPal – хорошо известная западным покупателям и зарекомендовавшая себя международная система электронных платежей. Считаю, что тесная интеграция создаст новые преимущества для покупателей, а также расширит возможности продаж за рубеж для 25000 российских интернет-магазинов, работающих на платформе «1С-Битрикс».

Источник: PayPal

Проект ina vokich

Клиент


Бренд INA VOKICH был основан в 2015 году в Латвии. Это компания, создающая вязанную и кожанную одежду. Первая коллекция вязаных костюмов INA VOKICH состояла из десяти уютных и стильных моделей, выдержанных в мягкой пастельной гамме. Через несколько месяцев ассортимент был значительно расширен  и добавлена в коллекция платьев и кардиганов.


INA VOKICH стала первой маркой, предложившей такое разнообразие вязаных костюмов. Ежедневно на сайт приходит 500 уникальных посетителей. На сегодняшний день INA VOKICH является лидером на мировом рынке по производству вязаных кашемировых костюмов.

Решение


После изучения результата работ предыдущего подрядчика стало ясно, что сделано 0.10-0.15% всей работы. Код был написан плохо. Мы переделали выполненную часть и доделали все что осталось и запустили сайт в указанный срок. Спустя 2 месяца активных доработок стало ясно, что готовое решение было выбрано неудачно:


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


  • нарушены правила разработки 1С-Битрикс


Когда стало ясно, что готовое решение нужно отправлять в утиль, привлекли дизайнеров и нарисовали новые макеты с учетом накопившихся пожеланий заказчика.


Дизайнеры подготовили макеты в PSD, мы их сверстали и заново собрали публичную часть проекта. Получился очень быстрый композитный сайт.

Интернет-эквайринг с Braintree от PayPal


Braintree не популярен в России, однако для зарубежных брендов это удобное решение для приема платежей от российских покупателей в привычный для Европы PayPal.


Для интеграции мы использовали наш модуль. Он позволяет организовать прием платежей с банковских карт на PayPal-счет интернет-магазина.

Удобный для покупателя “Плоский каталог”


На старте проекта в учете в 1С не использовались торговые предложения (характеристики). Товар каждого цвета и размера был отдельной единицей со своим артикулом. Это плохо с точки зрения удобства пользователей и SEO. Если такой каталог выгрузить на сайт, пользователи не смогут выбирать размер в карточке понравившегося товара, а поисковые системы будут видеть много товаров дублирующих друг друга.


Мы помогли заказчику изменить правила учета товара и внедрили использование торговых предложений (характеристик). В качестве характеристик были выбраны Цвет и Размер. Однако практика показала, что и такой подход оказался неудачным:


  1. В каждое торговое предложение приходилось загружать полный комплект фотографий.


  2. Каталог товаров “схлопнулся”. В списке товаров мы выводили первый выгруженный из 1С цвет, а остальные можно было увидеть только в карточке товара.


Мы пришли к выводу, что товары разных цветов, следует учитывать как отдельные товары и оставили только одну характеристику “Размер”. Теперь контент-менеджер загружать один комплект фотографий в товар, а пользователи увидели все цвета товаров в каталоге.

Команда заказчика


Это проект, где мы работали в составе интернациональной команды. Все коммуникации в корейском WeChat, потому что команда распредела по глобусу: склад и производство, маркетинг, сайт — все в разных странах. 1С-ник и вовсе где-то в океании.


Маркетингом занимается отдельная команда, задачи которой решаются в режиме нон-стоп:


  • телефония и колл-трекинг


  • выгрузки каталога в торговые площадки и социальные сети


  • фиксирование целей и построение воронок продаж


  • настройка метрик и аналитики. К слову сказать, на странице “оформление заказа” около 10 целей.

Международная версия сайта


Сайт на битриксе так понравился заказчику, что было принято решение перевести международную англоязычную версию на битрикс. Визуально они идентичны с точностью до языка. Чтобы товар попал в английскую версию, товароведам достаточно заполнить несколько дополнительных полей в 1С.


Перевод английской на битрикс занял 90 рабочих часов.

Языковые версии сайта

Портал о недвижимости или сайт риэлторского агентства на Битрикс в веб студии мercatto.ru

Решение для сайта агентства недвижимости или портала о работе на Битрикс

Полное описание

Решение для сайта агентства недвижимости или портала о работе, также отлично подходит для организации сайтов риэлторских агентств, застройщиков и других компаний занимающихся продажей/арендой различных объектов недвижимости.

Идеальное решение для собственного онлайн бизнеса!

Как строится процесс работы и что входит в стоимость

  • Подача заявки
  • Описание необходимого функционала/краткое ТЗ
  • Согласование деталей
  • Оплата
  • Интеграция с платформой 1С Битрикс 
  • Настройка
  • Первоначальное заполнение 
  • SEO оптимизация
  • Поддержка, обновление решения — развитие функционала, улучшение дизайна
  • В подарок: домен, хостинг, ssl сертификат безопасности

При покупке лицензии и шаблона через нашу студию, сайт для Вас будет стоить бесплатно!

Лицензия 1С Битрикс в редакции «Малый бизнес», «Бизнес» | Cравнить редакции

Шаблон (перед утверждением шаблона, вы опробуете несколько вариантов в демо-режиме и выберете понравившейся)

Сроки реализации проекта

  • Ввод в эксплуатацию: до 3-ех дней;
  • Донастройка, стилизация: 3-14 дней.

Один из основных профилей нашей компании — это продвижение сайтов (опыт более 5 лет). Поэтому мы учитываем рекомендациям Яндекс и Google по отношению к сайтам: валидный и легкий код, адаптивный дизайн, удобное юзабилити (сказывается на поведенческом факторе), скорость работы. Готовы разработать для Вас стратегию продвижения бизнеса, узнаваемость компании, увеличить объемы продаж/заказы услуг.

Передовые технологии для Вашего бизнеса

  1. Адаптивный дизайн c продуманной архитектурой и наличием мобильной версией 

    Не нужно создавать отдельные версии веб-сайта для отдельных видов устройств. Ваша торговая площадка будет красиво выглядеть на ПК, мобильных и планшетах. 
  2. Трансформер — перемещение элементов, вариации дизайнов! 

  3. Многосайтовость — Вы можете запустить сколько угодно сайтов на 1С-Битрикс (2 “сайта” в стандартной поставке)

  4. Композитный режим  
  5. Простое управление
    Технология «Эрмитаж» упрощает освоение системы управления порталом, снижает долю ошибочных действий сотрудников и затраты на их обучение, экономит время при внесении любых изменений на портале.

  6. Безопасность — 
    веб-антивирус с проактивной защитой
  7. Форум и блог
  8. Функционал соответствует законодательству ФЗ-54 — поддержка интернет касс
  9. Все цифровые каналы коммуникаций: онлайн-чат, соцсети, мессенджеры, обратный звонок, веб-формы и т.п.

  10. Realtime-интеграция с «1С»
  11. SEO:  шаблоны meta — не нужно вручную заполнять SEO поля в карточках торгового каталога. Система предоставляет для этого шаблоны автоматического создания уникальных title, description, keywords и т.д. 

  12. Валюты — управление валютами и курсами валют, автоматический импорт курсов с сайта ЦБРФ 

  13. Cкладской учёт — складской количественный учет, управление товарами на складах. Документы, поставщики, отчеты, приход товара по штрих-коду. + поддержка выбора склада при самовывозе заказа
  14. Накопительные скидки (только с редакцией “Бизнес”)
  15. Аффилиатские программы для построения пирамиды партнеров магазина (только с редакцией “Бизнес”)
  16. Внутренние лицевые счета покупателей (только с редакцией “Бизнес”)

  17. Интеграция с CRM Bitrix24
  18. Независимая оплата и доставка 
    составных частей заказа
  19. Автоматизированные варианты оплаты: Visa, MasterCard, Яндекс. Деньги, PayPal, WebMoney и многие другие.
  20. Варианты доставки с автоматическим расчетом по адресу, весу и габаритам: Почта РФ, EMS, SPSR, UPS, DHL, СДЭК и многие другие…
  21. Бесплатное 
    мобильное приложение для Администратора магазина
  22. AJAX технологии — подгрузка элементом без перезагрузки страницы
  23. Cовместимость с PHP7 и HTTPS — ускорение работы сайта! С 2017 года сайты несовместимые с https (без ssl сертификатов) определяются браузером Google как потенциально опасные. 
  24. Cloud Backup Amazon S3 — бесплатное автоматическое резервное копирование по расписанию
  25. Автокэширование — объединение и сжатие JS и CSS, CDN 
  26. И много другое исходя из выбранной 
    редакции платформы 1С Битрикс и
    возможностей решения.


Платформе 1С Битрикс доверяют свои проекты крупнейшие игроки рынка

Мы рекомендуем систему управления «1С:Битрикс — Управление сайтом». Система «1С-Битрикс: Управление сайтом» ежегодно подтверждает статус CMS №1 в России по версии ведущих аналитических компаний: CMSmagazine, TagLine, iTrack и др. На данной системе работают такие монстры интернет-торговли как Связной, Евросеть, Эльдорадо, Sapato и другие.
И другие истории успеха…

Все еще сомневаетесь? Посмотрите цены на разработку сайтов с нуля в
Kodix.ru


Предоставляем Вашему вниманию описание решения

Механизм допродаж через платные опции:

1. Поместить в топ-объявлений — объявление будет помещено в блок «Топ объявлений» в своей рубрике. Опция добавляется на ограниченное время, которое указывается в настройках в админке. 
+ Показы на вершине всех страниц рубрики 
+ Приоритет в результатах поиска 

2. Срочное объявление — объявление будет отмечено знаком «срочно». 

+ Объявление отмечено знаком «срочно» на странице списка объявлений, что выделит его среди конкурентов.  

+ Знак «срочно» остается активным на все время размещения. 

3. Выделение объявления — объявление будет выделено желтым фоном и жирным шрифтом на всё время размещения на сайте. + Выделение активно на все время публикации 

+ Приоритет в результатах поиска 

4. Поднять объявление — объявление поднимется выше всех бесплатных объявлений (Refresh, «воздушный шарик»). 

+ Обновление даты объявления на текущую 

+ Самый быстрый способ увеличить отклик 

— 
! Стоимость каждой из опций задаёт администратор сайта. 

 ! Через YY дней, автор объявление получит почтовое уведомление о необходимости продлить время действия опции. А через NN дней, опция с объявления автоматически снимается. Если в настройках указать «0», то опция считается бессрочной и соответственно уведомления не высылаются. 

Возможно добавление и других опций/сценариев по запросу. 


Яркий современный скевоморфичный дизайн в 5 красочных цветовых схемах — то есть можно выбрать вариант практически под любой логотип и фирменный стиль компании! 

Основной функционал:

  1. Возможность 2-х режимов работы решения, на выбор: платное размещение объявлений по заданному тарифу и бесплатное размещение объявления (владелец сайта зарабатывает на рекламе) — 
    переключается в настройках модуля.  
  2. Возможность пополнение баланса личного счета на произвольную сумму через любые платежные системы поддерживаемые 1С-Битрикс (Яндекс.Деньги, Webmoney, PayPal, Visa/MasterСard и десятки других!) 
  3. Готовая База данных недвижимости со всеми необходимыми свойствами для: 

    — Вторичный рынок 

    — Новостройки 

    — Дома и коттеджи 

    — Дачная недвижимость 

    — Аренда жилья 

    — Коммерческая недвижимость 

    — Зарубежная недвижимость 

    Вам остаётся всего лишь только заполнить базу данных своими объектами! 

    При необходимости структура и вложенность разделов — легко меняется, настраивается! 
  4. Премодерация добавляемых пользователями объявлений 
  5. Возможности: поиска, умной фильтрации по Базе данных, сортировки по наименованию, цене и многим другим свойствам! 
  6. Возможность разместить объявление через заполнение формы в публичной части сайта (при необходимости отключается. ) Выбор адреса через выбор точки на Яндекс.картах (как при добавлении объекта через публичную часть сайта так и через административную). Возможность прикрепить множество фотографий объекта! 

  7. Автоматическое определение города посетителя по IP-адресу!


  8. Выгрузка объектов в Яндекс.Недвижимость!

  9. Многогородовость — отображение объявлений только для выбранного города/региона. 
  10. Комментарии/вопросы автору объявления на детальной странице 
  11. Смена характеристик при добавлении в зависимости от категории. Теперь при выборе категории, куда Вы хотите добавить объявление в форме отображаются только свойства, актуальные для данной категории 

Все модули включены в стоимость решения!

Пример внедрения:

http://недвижимости.онлайн 

Простое управление сайтом



Управлять сайтом так же просто, как работать с обычным текстовым редактором — техническую часть работы за вас выполнит система.  Адаптивный интерфейс «Эрмитаж» упрощает освоение системы управления сайтом, снижает долю ошибочных действий пользователей, экономит время при внесении изменений на сайт. Интерфейс запоминает ваши предпочтения и позволяет тратить меньше времени на управление контентом сайта.
подробнее  

Готовый функционал



В состав программного продукта входит более 40 модулей для управления информационным наполнением и структурой, продажами через Интернет, социальной сетью, медиафайлами и фотогалереями, форумами, блогами, рекламой и многими другими возможностями сайта. 
Подробнее   

Веб-безопасность



Продукт обеспечивает высокий уровень защищенности сайтов от взлома, что подтверждает независимый аудит компании Positive Technologies. Качество реализации комплекса «Проактивная защита»: проактивный фильтр, встроенный веб-антивирус, сканер безопасности, одноразовые пароли (OTP) и другие технологии защиты предоставляют уверенность не только в надежности ядра системы, но и в безопасности интернет-решения на ее основе, с учетом надстроек и доработок. 
Подробнее   

Высокая производительность



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

Ускорение D7 x2



Уникальная технология «Композитный сайт» объединяет в себе высокую скорость загрузки статического сайта и все возможности динамического сайта. Пользователь мгновенно получает контент страницы. Технология включается на любом сайте на платформе «1С-Битрикс» в один клик, без привлечения специалистов. 
Подробнее   

«Облачные» сервисы



«1С-Битрикс» предоставляет своим клиентам бесплатную возможность автоматического 
«облачного» бекапа. Сервис 
Ускорение сайта (CDN) позволяет загружать весь статический контент (картинки, файлы стилей css, скрипты js) через сеть дистрибуции контента (Content Delivery Network или Content Distribution Network, CDN). Сервис
 «Скорость сайта» «видит» сайт глазами посетителей и показывает в комплексе, насколько комфортно работать с вашим сайтом. Сервис персонализации 
«1С-Битрикс: BigData» повышает качество управления, уровень продаж и конверсию в интернет-магазине. 
Подробнее  

Realtime-интеграция с «1С»



Продукт полностью совместим с «1С: Предприятие 8. 2» на уровне обмена данными. Это позволяет автоматически, в режиме реального времени публиковать на сайте каталоги товаров из «1С», прайс-листы, выгружать заказы, их статусы, а также данные по остаткам на складе с сайта в «1С» и обратно. Пошаговая выгрузка каталога из «1С» в интернет-магазин снижает нагрузку на сайт, и это особенно важно для каталогов в десятки и сотни тысяч наименований.
 
Подробнее   

Адаптация к мобильному рынку



В ядро продукта встроен универсальный Framework для адаптивной верстки (Bootstrap 3), облегчающий и ускоряющий изготовление mobile-friendly сайтов любого типа. Ваш сайт изначально готов к просмотру на любом устройстве, включая мобильные. Страницы сайта моментально перестраиваются. Сайт всегда присутствует в результатах поиска Google и мобильные клиенты его видят. Требованиям Google по оптимизации для мобильных устройств легко выполняются.  
Подробнее   

Мобильное администрирование



Управляйте заказами и получайте основные отчеты о работе магазина с обычных мобильных устройств. Быстро добавьте товар и отгрузите заказ по штрих-коду со смартфона. Полностью контролируйте интернет-торговлю, управляйте статусами, разрешайте доставку и выполняйте мобильно другие необходимые действия по обработке заказа. 

  Бесплатное приложение для управления интернет-магазином

Мобильные приложения

 

Как я сделал систему приема платежей в Minecraft на чистом PowerShell

В этой статье мы прикрутим богомерзкий донат к ванильному серверу Minecraft с помощью Powershell. Преимущество метода в том, что майнкрафт это лишь частный случай реализации автоматических платежей с помощью консольных команд. Мы лишь слушаем, что нам присылает платежная система и заворачиваем это в команду. И главное – никаких плагинов.
А принимать платежи мы будем через PayPal. Самое главное, для того чтобы начать принимать платежи не нужно изменять код, PayPal отправит нам все что нужно. На сайте будем использовать через кнопки, так что на сайте можно обойтись чистым HTML. Абстрагируемся от тонкостей самой платежной системы и сконцентрируемся только на основных моментах в коде.

Кстати, автор будет очень рад, если вы просмотрите все его модули и найдете в них детские ошибки, на которые укажете или исправите. Вот ссылка на гитхаб проекта.

Пару слов о IPN

IPN

Принимать платежи будем через кнопки. Кнопки не требуют никакого бэкенда от вас, работают на чистом HTML, да еще и собственные поля имеют.

Кнопки триггерят IPN – Instant Payment Notification, в котором данные поступают на наш WebListener. Структуру IPN рассмотрим чуть ниже.

К тому же сделать свою кнопку может кто угодно, кто имеет учетную запись PayPal.

IPN не обладает полнотой всей REST API PayPal, но базовый функционал можно реализовать и на ней. На самом деле, рассматриваемый нами IPN не REST API в полном смысле этого слова только потому, что сам PayPal не ждет от нас ничего кроме кода 200.

Поднимаем WebListener

PayPal, по соображениям безопасности, не отправляет запросы по HTTP, поэтому для начала работы нам нужно выпустить сертификат. 

Автор использовал WinAcme. Выпустить сертификат можно на любой домен, а сертификат нужно положить в локальное хранилище сертификатов. Кстати, в образе WinAcme находится в корне диска.

#Просматриваем хэш сертификата из персонального хранилище
Get-ChildItem -Path Cert:\LocalMachine\My 
 
#Всписываем сертификат с этим хешем на 443 порт.
netsh http add sslcert ipport=0.0.0.0:443 certhash=D106F5676534794B6767D1FB75B58D5E33906710 "appid={00112233-4455-6677-8899-AABBCCDDEEFF}"

Powershell умеет использовать классы из .net, что делает его почти равным .net. Сначала, используя класс HttpListener, поднимем Web сервер.

#Используем класс из .net
$http = [System.Net.HttpListener]::new() 
 
#Добавляем префиксы к лисенеру
$http.Prefixes.Add("http://donate.to/")
$http.Prefixes.Add("https://donate.to/")
 
#Стартуем сервер
$http.Start()

Чтобы проверить, что все сделано нормально, выполним netstat.

Если в списке наш скрипт начал слушать 443 порт, значит, вы сделали все правильно, и мы можем перейти к приему обработке запросов. Только не забудьте про брандмауэр.

Принимаем запрос

С помощью IPN Simulator мы можем отправить себе тестовый POST запрос, чтобы посмотреть что это такое. Но в нем нельзя включить собственные поля, поэтому автор рекомендует сделать кнопку и сразу купить у себя что-нибудь. В IPN History появится нормальный запрос с кнопки которую вы будете использовать.  Автор сделал именно так, купив у себя один уголь за один рубль.

Принимать будем с помощью цикла While. Пока веб-сервер работает, мы можем читать входящий поток данных.

while ($http.IsListening) {
 
  $context = $http.GetContext()
 
  if ($context.Request.HttpMethod -eq 'POST' -and $context.Request.RawUrl -eq '/') {
 
    #Читаем содержимое POST запроса
    $Reader = [System.IO.StreamReader]::new($context.Request.InputStream).ReadToEnd()
    
    #Фиксим странные руны.
    $DecodedContent = [System.Web.HttpUtility]::UrlDecode($Reader)
 
    #Выводим платеж в терминал.
    $Payment | Format-Table
 
    #Отвечаем клиенту 200 OK и закрываем стрим.
    $context.Response.Headers.Add("Content-Type", "text/plain")
    $context.Response.StatusCode = 200
    $ResponseBuffer = [System.Text.Encoding]::UTF8.GetBytes("")
    $context.Response.ContentLength64 = $ResponseBuffer.Length
    $context.Response.OutputStream.Write($ResponseBuffer, 0, $ResponseBuffer.Length)
    $context.Response.Close()
  }
}

Если вы получаете вермишель подобную этой, то примените:

$Payment = $DecodedContent -split "&" | ConvertFrom-StringData

После этого вам наконец придет нормальный объект, где все Value это String.

Можете бросить чтение прямо на этом месте, если не хотите погружаться все глубже в код, а просто хотите принимать от чьей-то API запросы.

Вот код, который работает прямо из коробки, копируйте и используйте:

#Запускаем лисенер
$http = [System.Net.HttpListener]::new() 
 
#Указываем домены, которые мы слушаем
$http.Prefixes.Add("http://localhost/")
$http.Prefixes.Add("https://localhost/")
 
$http.Start()
 
while ($http.IsListening) {
 
  $context = $http.GetContext()
 
  if ($context.Request.HttpMethod -eq 'POST' -and $context.Request.RawUrl -eq '/') {
 
    #Читаем содержимое POST запроса
    $Reader = [System.IO.StreamReader]::new($context.Request.InputStream).ReadToEnd()
    
    #Фиксим странные руны.
    $DecodedContent = [System.Web.HttpUtility]::UrlDecode($Reader)
          
    #Преобразуем вермишель IPN в массив строк
    $Payment = $DecodedContent -split "&" | ConvertFrom-StringData
 
    #Выводим платеж в терминал.
    $Payment | Format-Table
 
    #Отвечаем клиенту 200 OK и закрываем стрим.
    $context.Response.Headers.Add("Content-Type", "text/plain")
    $context.Response.StatusCode = 200
    $ResponseBuffer = [System.Text.Encoding]::UTF8.GetBytes("")
    $context.Response.ContentLength64 = $ResponseBuffer.Length
    $context.Response.OutputStream.Write($ResponseBuffer, 0, $ResponseBuffer.Length)
    $context.Response.Close()
  }
}

Нюансы Minecraft

Вот мы разобрались как мы можем получать оповещения о платежах, можно теперь их зачислять. Но тут тоже не все так просто. Проблема в том, что игра не дает давать предметы или изменять статус игроков, которые не находятся на сервере. То есть нам нужно ждать пока человек зайдет на сервер, чтобы дать ему то, за что он заплатил.

Поэтому вашему вниманию представлена общая принципиальная схема курильщика, по зачислению платежей.

Прием платежей осуществляется через Listener выше, в него была добавлена всего одна строка для записи объекта в файл. Complete-Payment (Обработчик) смотрит на никнейм и сопоставляет с именем файла. ]+)»)

powershell.exe -file «.\Start-MinecraftHandler.ps1» -type $type -MinecraftPath $MinecraftPath | Tee-Object $LogFile -Append | ForEach-Object {

Write-host $_

$Player = $Regex.Matches($_).value -replace «of player »

if ($true -eq $Regex.Matches($_).Success) {
#обратный вызов стартует тут
}
}

На конвейер $_ подается новая строка, её мы пишем в окно консоли и проходимся по ней регуляркой. Регулярка сама оповещает нас, когда срабатывает, что очень удобно.

Отсюда мы можем вызывать любой код. К примеру, используя это же RCON, мы можем приветствовать игрока в ПМ, с помощью бота в дискорде оповещать о том, что кто-то зашел на сервер, банить за мат, ну и так далее.

Делаем прием платежей

Раз уж мы взялись за обработку платежей, то хотелось бы иметь как минимум достаточно полные данные об операции и историю проведенных операций, ведь речь идет о числах с двумя нулями, так сказать.

Автор хочет оставить все предельно простым и не моделировать еще базу. Давайте рассмотрим NoSQL подход. Сделаем свой собственный класс, который будем импортировать все принятые платежи в папку /payments/ в файлы в формате Json.

    class Payment {
        #Дата прихода платежа.
        [datetime]$Date = [datetime]::ParseExact($i.payment_date, "HH:mm:ss MMM dd, yyyy PDT", [System.Globalization.CultureInfo]::InvariantCulture)
        #Приорбетенная вещь
        [string]$Item = $i.item_name
        #Количество вещей
        [UInt16]$Quantity = $i.Quantity
        #Какую сумму мы действительно получили
        [UInt16]$AmountPaid = $AmountPaid -as [UInt16]
        #В какой валюте был принят платеж
        [string]$Currency = $i.mc_currency
        #Никнейм игрока, который получит вещь
        [string]$Player = $i.option_selection1
    
        [bool]$Completed = $false
        [UInt16]$ItemId = $i.item_number
    }
/source>

Из предложенной модели будет понятно, кто, когда, что и в каком объеме купил и получил ли товар.

Для кнопки, которую сгенерировал автор <b>option_selection1</b> – это никнейм игрока. Сюда можно подставить любой собственный input, все что угодно, но в данном случае никнейм.
Свои собственные поля имеют нумерацию <b>option_selection1</b>,<b>option_selection2</b> и так далее.

Как ранее было показано на схеме выше, ресивер не делает ничего иного, как складывает пришедшие платежи в файл.

<source lang="powershell"> #Создаем новый объект по классу Payment, чтобы его легко можно было запихнуть в файл.
    $Payment = [Payment]::new()
    $Payment | Format-Table
    #Человекопонятно обзываем файл, в формате ЧЧ-ММ-ДД-ММ-ГГГГ
    $FileName = $Payment.Player + "-" + $Payment.date.Hour + "-" + $Payment.date.Minute + "-" + $Payment.date.Day + "-" + $Payment.date.Month + "-" + $Payment.date.Year + ".json"
 
#Составляем путь, по которому наш объект будет экспортирован
    $JsonPath = Join-Path $MinecraftPath \payments\Pending $FileName
    
    #Экспортируем объект в джисонину
    $Payment | ConvertTo-Json | Out-File $JsonPath

Вот и все, что требовалось от нашего листенера. Получить данные от PayPal и записать в файл.

Делаем обработку платежей

Вызывать обработчик будет та регулярка, о которой написано ранее. В модуль мы передаем никнейм игрока и все. Дальше запускается новый скрипт, который ищет файл, и если файл есть, дает игроку предмет, который записан в файле.

powershell.exe -file "C:\mc.fern\Start-MinecraftHandler.ps1" -type $type -MinecraftPath $MinecraftPath | Tee-Object $LogFile -Append | ForEach-Object {
       
        #Так как строка оказалась в конвейере,нам придется её писать таким вот образом.
        Write-host $_   
 
        #Класс Regex сам оповестит нас о срабатывании
        if ($true -eq $Regex.Matches($_).Success) {
            
            #Удаляем все лишне и оставляем только ник игрока
            $Player = $Regex.Matches($_).value -replace "of player "
            
            #Вызываем самописную команду, которая найдет платеж и передаст игроку предмет
            Complete-Payment -Player $Player
        }
    }

При срабатывании регулярки запускается модуль, который завершает платеж, то есть, отдает игроку предмет. Для этого в папке /Payments/Pending/ скрипт ищет файлы содержащие ник игрока зашедшего в игру и читает его содержание.

Теперь нужно собрать команду для сервера и отправить её туда. Собираться она будет из файла. Ник игрока мы знаем, название предмета и его ID записали, сколько штук тоже записали, осталось только послать команду на игровой сервер. Для этого будем использовать mcrcon.

#Находим файл содержащий ник игрока
    $JsonPath = Join-Path $MinecraftPath\payments\Pending -ChildPath $Player*
    $i = $JsonPath | Get-Item | Where-Object { !$_.PSIsContainer } | Get-Content | ConvertFrom-Json -ErrorVariable Errored
 
    #Если файл был найден выполняем процедуру зачисления
    if ($null -ne $i) {
 
        #Составляем команду 
        $Command = '"' + "give " + $i.Player + " " + $i.Item + " " + $i.Quantity + '"'
        Write-host $Command -ForegroundColor Green
    
        #Отправляем команду на сервер
        Start-Process -FilePath mcrcon.exe -ArgumentList "-H localhost -p 123 -w 5 $Command"
    
        #Составляем путь, по которому наш объект будет экспортирован
        $JsonPath = Join-Path $MinecraftPath\payments\Pending -ChildPath $FileName
        
        #Экспортируем объект в джисонину
        $i | ConvertTo-Json | Out-File $JsonPath
    
        #Перемещаем завершенный платеж в другую папку
        Move-Item  -Path $JsonPath -Destination $MinecraftPath\payments\Completed
    }

Оформляем это все в удобный модуль

Для процесса Java и процесса WebListener требуются разные потоки, но автора не устраивает нужда запускать отдельно WebListener и отдельно сервер. Автор хочет все и сразу одной командой.

Поэтому используя Powershell 7, мы запустим и то и то. А поможет нам:

ForEach-Object -Parallel {}

Командлет работает с inputObject, поэтому мы подаем на него незамысловатый массив, а разделяем потоки с помощью свитча.

"A", "B" | ForEach-Object -Parallel {
 
    Import-Module ".\Start-Minecraft.ps1"
 
    Import-Module ".\Start-WebListener.ps1"
 
    switch ($_) {
        "A" {
            Start-WebListener -Path "C:\mc\"
        }
        "B" {
            Start-Minecraft -Type Vanilla -LogFile ".\stdout.txt" -MinecraftPath "C:\mc\"
        }
        
    }
}

Таким вот костыльным образом мы запустили два разных процесса из одного терминала и даже не потеряли инпут. Но тут появилась еще одна проблема. WebListener лочит за собой консоль после штатной остановки сервера и никуда не хочет уходить.

Чтобы не перезапускать терминал каждый раз, в Start-MinecraftHandler.ps1 и в Start-WebListener.ps1 был добавлен рандомный ключ, который будет останавливать сервер по POST на WebListener.

Start-MinecraftHandler.ps1, когда фиксирует успешное завершение выполняет команду:

Invoke-WebRequest -Method Post -Uri localhost -Body $StopToken | Out-Null

$StopToken содержит случайное числовое значение, которое заранее передается скриптом запуска и в Listener и в Handler. Listener смотрит, что ему пришло в запросе и выключается, если тело запроса совпадает с $StopToken.

if ($DecodedContent -eq $StopToken) {
        Write-Host "Stopping WebListener"
        $context.Response.Headers.Add("Content-Type", "text/plain")
        $context.Response.StatusCode = 200
        $ResponseBuffer = [System.Text.Encoding]::UTF8.GetBytes("")
        $context.Response.ContentLength64 = $ResponseBuffer.Length
        $context.Response.OutputStream.Write($ResponseBuffer, 0, $ResponseBuffer.Length)
        $context.Response.Close()
        $http.Close()
        break
      }

Достаточно безопасно, о токене знает только оперативная память и более никто. ]+)»
#После успешного нахождения по паттерну, нужно отрезать все, кроме ника.
$RegExpCut = «of player »

#Пароль от rcon, который был задан в server.properties
$rconPassword = «123»
Помещать конфиг желательно в папку с сервером, потому что скрипт ищет его в корне -MinecraftPath

Как всем этим пользоваться?

В первую очередь, эти скрипты установлены и готовы к использованию в маркетплейсе Ruvds, но если вы еще не клиент или не опробовали образ, вот ссылка на все файлы в репозитории, не стесняйтесь коммитить. 

  1. Скачайте и установите PowerShell 7
  2. Скачайте и распакуйте архив с модулями

Теперь все нужные модули и команды у нас появились. Что же они делают?

Start-Minecraft

Параметры:

-Type

Forge или Vanilla. Запускает сервер либо с Server.Jar, либо Forge, выбирая самую последнюю версию, которая есть в папке.

-MinecraftPath

Указывает на папку, из которой будет запущен сервер.

-LogFile

Альтернативный способ сбора логов. Указывает на файл, в который будет записываться все, что появляются в консоли.

-StartPaymentListener

Вместе с сервером запускает и прием платежей. Сам прием платежей доступен как отдельный модуль. Заменяет командлет Start-Weblistener

Start-Weblistener

Запускает модуль приема платежей.

-MinecraftPath

Указывает на папку с конфиг файлом.

-StopToken

Указывает -Body HTTP POST запроса для остановки WebListener’a.

Вывод:

Ну и чудеса же случаются.

VPS-хостинг для Битрикс всего за $5 в месяц

Несколько лет тому назад мне поступил заказ сделать сайт интернет-магазина на платформе Bitrix и настроить обмен данными с 1С:Управление торговлей 10.3. К тому времени у меня уже был хостинг в Руцентре с некоторым количеством сайтов, в том числе один сайт на Битрикс. Все эти сайты легко уживались на одном среднем тарифе. Новый проект обещал быть большим, поэтому было принято решение приобрести отдельный хостинг в том же Ru-center, но только со специальным тарифом для CMS Bitrix.

Пока сайт работал в тестовом режиме все было хорошо, но как только он был запущен в промышленную эксплуатацию, сайт практически умер. Больше месяца шла переписка с техподдержкой Руцентра, отвечали они крайне редко, порой ждать ответа приходилось порядка недели. В итоге встал вопрос по переносу сайта на другой хостинг.

Совершенно случайно попалась на глаза реклама Нью Йоркской компании DigitalOcean, которая предлагала быстрый VPS сервер с SSD дисками по цене Shared хостинга.

Всего за $5 в месяц они предоставляли:

  • 512Мб оперативной памяти
  • 1-ядерный процессор
  • 20Гб SSD жесткий диск

На текущий момент эти характеристики стали еще лучше и за те же деньги уже:

  • 1 Гб оперативной памяти
  • 25 Гб SSD жесткий диск

Предложение казалось фантастическим, но я все же решил проверить его. 

По факту все оказалось так, как обещала реклама или даже лучше:

  • облачная архитектура
  • простота настройки
  • высокая скорость
  • низкая цена
  • техническая поддержка реагирует очень быстро, дает полные, развернутые ответы
  • поминутная тарификация

Развернуть сайт на 1С-Битрикс можно практически за считанные минуты. Далее я пошагово расскажу, как это сделать.

Вот по этой ссылке можно посмотреть список тарифов: https://www.digitalocean.com/pricing/. Как показала практика, в большинстве случаев тарифного плана за $5 в месяц более чем достаточно для проекта на Битрикс. Виртуальная машина легко поддерживает нормальную работу нескольких сайтов с суммарной посещаемостью 10-20 тысяч пользователей в сутки. К тому же, вместо обычных жестких дисков на всех серверах используются более быстрые SSD диски.

С тарифом мы определились, теперь необходимо пройти простую регистрацию. Достаточно ввести адрес электронной почты и придумать пароль.

Затем нужно будет подтвердить указанную ранее почту, пополнить счет на любую сумму (Расчет возможен либо с пластиковой карты, либо через PayPal. Лично я предпочитаю не светить лишний раз карточку и плачу через PayPal).

Теперь можно приступать к созданию дроплета. Придумываем имя дроплета.

Выбираем тариф.

Выбираем регион размещения дроплета. Если большинство посетителей сайта будет из штатов или из Северной Америки — выбираем New York. Европа — London или Amsterdam. Азия — Singapore. Для России лучше всего подходит Амстердам.

Рекомендую сразу включить резервное копирование, т.к. потом эта опция будет не доступна — только создавать новый дроплет. Стоимость бэкапа составляет 20% от стоимости тарифа. В нашем случае это будет составлять $1, т.е. общая стоимость будет 6 долларов в месяц. При этом не нужно будет каждый раз выключать сервер, чтобы сделать резервную копию, все будет делаться автоматически, причем без выключения. Подробнее можно почитать здесь: https://www.digitalocean.com/community/tutorials/understanding-digitalocean-droplet-backups/

Далее выбираем версию операционной системы, которая будет установлена на нашем сервере. Я обычно использую CentOS, но возможны и другие вариант, подробнее здесь: http://www.1c-bitrix.ru/products/env/

После нажатия кнопки «Создать дроплет» начинается процесс создания виртуального сервера, который занимает около 1 минуты.

На указанный при регистрации email придет письмо с IP адресом и паролем рута. Используя эти данные, вы сможете подключиться к серверу прямо в панели управления через VNC консоль или по SSH используя, например, PuTTY, я же предпочитаю использовать mRemoteNG в котором кроме подключений по SSH удобно хранить настройки подключений к различным серверам по RDP. 

  

При первом входе система попросит сменить пароль:

Using username «root».
You are required to change your password immediately (root enforced)
Changing password for root.
(current) UNIX password: <вводим текущий пароль, который получили по почте>
New password: <вводим новый пароль>
Retype new password: <еще раз вводим новый пароль>

Следует учесть, что в командной строке не будут работать стандартные сочетания клавиш для копирования и вставки через буфер обмена. При выделении текста мышью в консоли — он сразу копируется в буфер обмена, а при нажатии правой кнопки мыши — вставляется из буфера.

Для установки непосредственно самого Битрикс Веб-окружения понадобится не более 5 минут. Для этого последовательно выполняем четыре команды:

yum install wget

wget http://repos.1c-bitrix.ru/yum/bitrix-env.sh

chmod +x bitrix-env.sh

./bitrix-env.sh

На вопрос: «You must disable SElinux before installing the Bitrix Environment.

Do you want disable SELinux?(Y|n)» необходимо ответить утвердительно Y. Затем перезагрузить сервер командой reboot и повторить установку, запустив скрипт ./bitrix-env.sh

Во время установки скрипт возможно спросит какую версию установить 4/5. Выбираем последнюю.

Подробнее о виртуальной машине BitrixVM v5.x можно почитать здесь: Виртуальная машина BitrixVM v5.x

Затем необходимо открыть порты: 

  • 25 — smtp сервер;
  • 80 — http;
  • 443 — https;
  • 5222 — bitrix xmpp сервер;
  • 5223 — bitrix xmpp сервер по ssl;
  • 8890 — ntlm авторизация;
  • 8891 — ntlm авторизация по ssl;
  • 8893 — http сервер мгновенных сообщений;
  • 8894 — https сервер мгновенных сообщений.

Для этого выполняем соответствующие команды:

iptables -I INPUT -p tcp —dport 25 -j ACCEPT
iptables -I INPUT -p tcp —dport 80 -j ACCEPT
iptables -I INPUT -p tcp —dport 443 -j ACCEPT
iptables -I INPUT -p tcp —dport 5222 -j ACCEPT
iptables -I INPUT -p tcp —dport 5223 -j ACCEPT
iptables -I INPUT -p tcp —dport 8890 -j ACCEPT
iptables -I INPUT -p tcp —dport 8891 -j ACCEPT
iptables -I INPUT -p tcp —dport 8893 -j ACCEPT
iptables -I INPUT -p tcp —dport 8894 -j ACCEPT
service iptables save

Итак, установка виртуальной машины завершена.

Bitrix Environment for Linux installation complete

Пере заходим. Создаем пароль для пользователя Bitrix.

You must change password for bitrix user
Changing password for user bitrix.
New password:

При первом входе нужно будет создать пул серверов.

Сервер настроен и готов к бою. На него можно смело заходить по  IP адресу, тут же запустится установка 1с-Битрикс.

Сервер полностью сконфигурирован с оптимальными настройками под Битрикс.

И на последок приятный бонус. При регистрации по партнерской ссылке вы получите $10 на счет!

Как подключить PayPal к Bitrix24.com

»

В этой статье вы узнаете, как настроить мост и подключить PayPal к Bitrix24.com с помощью LeadsBridge.

Еще не пользуетесь LeadsBridge?
Начните бесплатную пробную версию сегодня!

Пошаговое руководство по установке моста

Перед тем, как начать

  1. Перейдите на левую боковую панель и нажмите Bridges
  2. Вы попадете в раздел Bridges своего аккаунта
  3. Нажмите кнопку Добавить
  4. Вы попадете на первый этап создания моста

Шаг 1. Основная информация моста

  1. Выберите имя для вашего моста (это будет видно только внутри LeadsBridge)
  2. Вы можете добавить метки, которые помогут вам идентифицировать мост позже
  3. Выберите PayPal в качестве источника для вашего моста
  4. Выберите Битрикс24.com как пункт назначения
  5. Нажмите кнопку Далее

Шаг 2. Настройте источник

PayPal

  1. Введите имя, которое вы хотите назвать своей интеграцией
  2. Введите Имя пользователя API , Пароль API , Подпись API , Ключ потребителя и Секрет потребителя для подключения вашего PayPal к LeadsBridge
  3. Щелкните здесь: (