Пост терминал с ручным вводом: как работает виртуальный pos-терминал для оплаты банковскими картами — modulkassa.ru

Содержание

Как работает терминал с ручным вводом данных карты | tvoedelo.online

POS-терминал — аппарат, который обрабатывает кредитные и дебетовые карты клиентов для списания средств за товар или услугу. Для использования безналичной оплаты продавец должен заключить договор торгового эквайринга с банком-партнером.

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

Для чего используются терминалы с ручным вводом карты

Ручной ввод данных карты распространен в гостиничном и прокатном бизнесе. Специфика деятельности такова, что клиент бронирует номер или автомобиль задолго приезда. Для подтверждения брони заказчик должен гарантировать платежеспособность — сообщает номер «пластика» исполнителю для холдирования указанной суммы на счете. Продавец вручную вводит данные карты в терминал вместо магнитной прокатки и выполняет предавторизацию (или преавторизацию) по реквизитам.

В отличие от простого эквайринга, где авторизация платежа происходит мгновенно, процесс эквайринга с предавторизацией происходит в несколько этапов:

  • ручной ввод реквизитов карты в терминал замораживает определенную договором сумму на счете картодержателя;
  • при отмене брони в период без штрафа блокировка средств снимается — продавец не оплачивает комиссию по договору эквайринга;
  • расчет с клиентом выполняется по предварительно сделанной предавторизациии;
  • доначисление платы за услуги (например, мини-бар, штрафы за нарушения ПДД) и списание с карточного счета после отъезда клиента.

Как выбрать POS-терминал для ручной оплаты картой

Практически все платежное оборудование поддерживает функцию ручного ввода реквизитов «пластика». Выделим надежных производителей ПОС-терминалов:

  • Ingenico;
  • VERIFONE;
  • Pax;
  • Yarus.

Виртуальный POS-терминал для ручного ввода карты предлагает Яндекс Касса.

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

Банки, поддерживающие терминалы с ручным вводом карты

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

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

Специальные условия на эквайринг для гостиничного и прокатного бизнеса предлагают:

  • ВТБ — персональные условия подключения и обслуживания;
  • Открытие — от 0,99%;
  • УБРиР — от 1%.

Другие банки, которые поддерживают эквайринг с преавторизацией:

  • Русский Стандарт — комиссия не менее 1,8% с операции;
  • Сбербанк — индивидуальный тариф;
  • Альфа-Банк — 1,9%, с бесплатной арендой оборудования;
  • Промсвязьбанк — комиссия стартует с 1,59% от подтвержденной операции.

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

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

Как выполнить ручной ввод на терминале без карты

Для использования функции ручного ввода реквизитов банковской карты «РЕЗЕРВИРОВАНИЕ СУММЫ»:

1. Нажмите желтую клавишу «Clear (Редактировать)».

2. Введите номер банковской карты (без пробелов). Подтвердите нажатием зеленой клавиши «ENTER (OK)».

3. Введите срок действия карты (без пробелов). Подтвердите нажатием зеленой клавиши «ENTER (OK)». ВНИМАНИЕ! Формат ввода даты: сначала ГОД, затем МЕСЯЦ (ГГММ).

4. Клавишами навигации выберете необходимую операцию. Подтвердите нажатием зеленой клавиши «ENTER (OK)».

5. Введите сумму операции. Нажмите зеленую клавишу «ENTER (OK)».

6. При одобрении операции терминал напечатает чек.

Обязательно ставьте 👍 Палец вверх этой статье, если она Вам понравилась.

Подписывайтесь наш блог, чтобы не пропустить новые публикации!

Спасибо, что дочитали до конца!

Статья доступна на нашем сайте по адресу: https://tvoedelo.online/kassa/terminals-ruchnym-vvodom-dannyh-karty

Ссылка на «ВКонтакте»

https://vk. com/tvoedelo.online?w=wall-182887826_1077


Виртуальный платежный терминал с функцией ручного ввода от компании Pay.Travel позволяет осуществить списание денежных средств с виртуальных карт Booking.com, Expedia.com и Agoda.com и последующее их зачисление на расчетный счет отеля или иного объекта размещения в кратчайшие сроки (не более 1 рабочего дня). Данная услуга поможет владельцам отелей и гостиниц быстро и просто получить, перевести и снять деньги с виртуальных карт.

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

  • Процесс получения банковского платежного POS-терминала для списания денег с виртуальных карт зачастую очень длительный процесс, связанный с огромным количеством бумаг и договоров. По статистике более 85% отелей вообще не могут получить в пользование POS-терминал.
  • Прибыль будет подолгу зависать на виртуальных счетах Booking.com, Expedia.com и Agoda.com, принося владельцам бизнеса убытки и потери прибыли.
  • Вы будете терять потенциальных клиентов из-за рубежа по причине отсутствия возможности принимать оплату через иностранные сервисы бронирования.
Платежный сервис от компании Pay.Travel способен решить все эти проблемы и помочь вашему бизнесу работать более эффективно и выгодно в рамках всего одного договора!

Виртуальный терминал от Pay.Travel — это:

  • Легкое и быстрое подключение услуги без лишних бумаг и требований.
  • Возможность использовать функцию приема оплаты бронирований с виртуальных карт Booking.com, Expedia.com и Agoda.com на любом устройстве.
  • Быстрое зачисление принятых денежных средств на расчетный счёт (1 рабочий день).
  • Удобный и функциональный личный кабинет для мониторинга за транзакциями в режиме on-line.
  • Отсутствие необходимости в получении физического банковского POS-терминала.
  • Возможность расширить клиентскую базу за счет привлечения иностранных клиентов, которые всё чаще предпочитают расплачиваться картами через системы бронирования.
  • Высококвалифицированная помощь и техническая поддержка в режиме 24/7.

Если вы хотите узнать, как получить полноценную систему управления финансами — просто спросите нас об этом!

Тестирование POS систем и терминалов

POS-терминалы (от англ. Point Of Sale, точка продажи) — это системы, с помощью которых осуществляются транзакции. POS-системы можно видеть в розничных магазинах, ресторанах, больницах — сейчас они практически повсеместны.

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

В этой статье будут рассматриваться следующие вопросы:

  • Отличия тестирования POS-систем
  • Архитектура электронных платежных систем EPOS (Electronic Point Of Sale)
  • Физические компоненты EPOS
  • Уровни/функции POS

В чем особенности тестирования POS-системы?

Тестирование POS-системы для непосвященных представляется довольно сложной задачей, но не для тех, кто знаком с концептом.

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

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

Сложности, связанные с тестированием POS-систем

Множество конфигураций, в зависимости от требования магазина. (К примеру, руководство розничной сети решило провести промоакцию в определенном городе, — в таком случае понадобятся специальные конфигурации для POS-систем только в одном городе.)

  • Необходимо должным образом настроить все системы, и это же касается другого аппаратного обеспечения и разных версий ПО.
  • Для множества устройств необходимо тестирование совместимости и тестирование взаимодействия компонентов системы.
  • Соответствие стандарту PCI, поскольку для POS-тестов используются данные кредитных карт.

POS-архитектура


Каждый терминал в магазине подключен к файл-серверу. Изменение настроек или основных конфигураций производится на сервере, и затем данные передаются на каждый терминал в магазине. Эти обновления — рутинная работа.

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

Физические компоненты POS и как их тестировать:

#1) Терминал — это главный экран, который используется для ввода данных транpакции. Как правило, это тачскринные устройства. Все конфигурации — будь то ассортимент продукции, цены, установление цен, специальные предложения, способы оплаты — передаются на терминал.

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

#2) Display Pole — это устройство, отображающее цену товара при сканировании с помощью сканера штрих-кодов.

Важно проверить, что устройство высвечивает ту же цену, что и POS-терминал.

#3) Сканер штрих-кодов — по завершении сканирования в бекенде проводится проверка на предмет наличия элемента в списке товаров. Как только весь объем определенного товара был продан, ассортимент обновляется, чтобы уменьшить доступное количество элементов.

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

#4) Кассовый аппарат — используется для хранения наличных денег. При любой денежной транзакции кассовый аппарат моментально открывается, чтобы принять деньги от клиента и вернуть сдачу.

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

#5) Портативные устройства — беспроводные устройства, посредством которых проводятся платежи кредитными картами, их приносят непосредственно к клиенту, и затем клиент уже набирает пин-код.

Тестирование может проводиться с помощью выбора режима транзакции “карта”.

Должна быть проведена верификация ввода суммы вручную.

#6) Принтер — принтеры подключаются к каждому терминалу и печатают квитанцию после каждой транзакции.

Тестировщики могут протестировать печать, проверить выравнивание — не выходит ли текст за определенные границы, размер текста, шрифты и пр.

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

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

#7) Считыватель магнитной ленты (MSR) — эти устройства используются для проведения по ним картами (дебетовыми, кредитными или подарочными). Чаще всего их можно встретить в розничных магазинах и ресторанах.

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

Уровни/функции POS

Существует 3 базовых уровня или функции POS

#1) Прикладной уровень/функции фронт-офиса (работа с клиентами)

1) Продажа — основная цель любой POS-системы — осуществление транзакций:

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

Подтверждение расчета суммы налога.

2) Платежи — еще один важный аспект для тестировщиков. POS-системы принимают несколько видов платежей (карта, наличные, подарочные карты, а также определенные виды купонов на скидку и дисконтные ваучеры).

Подтверждение оплаты наличными

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

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

Подтверждение подарочной карты

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

Скидки/купоны/специальные предложения. Это довольно сложная область для тестирования, так как валидация должна включать все возможные комбинации форм скидок. Тестирование может производиться с использованием кода, на полую сумму, или с использованием купона для определенных видов продукции.

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

Уровень #2) Служебные функции

1) Конец дня (EOD) — это самая важная активность в программно-аппаратной части. Составляется несколько суммарных отчетов, в т. ч. отчет о дневном обороте (который позволяет узнать доход за рабочий день). Отчеты, помимо прочего, отправляются в банки, для согласования всех дневных транзакций. Обновляется система управления ассортиментом для корректного отображения имеющихся запасов.

Тестовые сценарии:

Проверка успешности процесса EOD. Для этой цели делается ряд преднамеренных ошибок. К примеру, менеджеры в ресторане не смогут запустить процесс EOD, если все сотрудники не завершили свою работу в системе. Обычно такое тестирование автоматизировано: проводится ряд тест-кейсов (положительные и негативные).

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

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

  • Валидация включает проверку начала работы в незапланированное время
  • Планирование раннего начала и завершения работы
  • Планирование позднего начала и завершения работы

3) Управление товарным ассортиментом. Менеджеры магазинов используют системы, отслеживающие товар на каждом этапе товарного цикла, что позволяют сделать вывод о том, что уровень запаса опустился ниже нормы.

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

Во время тестирования проверяются следующие нюансы:

  • Количество товара, который планируется закупить
  • Индикаторы того, что уровень запаса превысил допустимые значения
  • Проводится размещение заказа
  • Проверяются списки товаров с корректной ценой, которые должны высвечиваться в POS-системе для выбора

Уровень #3) Корпоративные функции

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

1) Персонал и платежная ведомость (HR, Payroll) — Эти системы связаны с работой отделов кадров, начислением зарплат, налоговыми отчислениями, трудовым законодательством, отпускными и пр.

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

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

2) Финансы и бухгалтерия — финансовые и бухгалтерские системы, для которых требуются отчеты. Отчёты о прибылях и убытках, отчеты по планированию бюджета, отчеты о дневном обороне магазинов и др. Все это позволяет сотрудникам бухгалтерских отделов сделать вывод о работе POS-систем.

На основании таких отчетов принимается множество решений. Например, открытие новой торговой точки.

Тестировщики могут проверить:

  • Составление отчетов
  • Отчеты о доходах, балансовые ведомости

3) Управление поставками — любой организации в сфере розничной торговли необходимы поставщики. Для поиска подходящего поставщика, который бы предложил разумные цены, и наблюдения за их работой используются системы управления поставками.

Может тестироваться:

  • Ввод и изменение данных о поставщиках в системе
  • Подтверждение цен

Работа поставщика: отслеживается время доставки, количество доставленной продукции и пр.

Как украсть миллион, не прикасаясь к банковской карте

На проходящей до конца недели в штате Аризона конференции по безопасности компьютерных систем и средств связи CCS 2014 был представлен доклад о серьёзной уязвимости новых банковских карт VISA. Она касается функции быстрого списания малых сумм без необходимости их подтверждения.

По замыслу разработчиков такие платежи должны выполняться с помощью коммуникации ближнего поля буквально в одно касание и не требовать ввода пин-кода, облегчая жизнь состоятельному владельцу. Однако автор доклада Мартин Эммс (Martin Emms) выяснил, что установленный лимит в двадцать фунтов не действует для других валют. С учётом функции автоматического пересчёта курсов, реальная сумма перевода ограничивается только техническим пределом адресации – 999999,99 в любых денежных единицах.

Списание $999’999,99 (код валюты 0840) без подтверждения пин-кодом (фото: digitalmoney.shiftthought.co.uk).

Мартин собирает материал для докторской диссертации в Центре по изучению киберпреступности и компьютерной безопасности (CCCS) Университета Ньюкасла. Его исследование фокусируется на поиске потенциальных уязвимостей в бесконтактных платежных системах с использованием технологии NFC.

Группа Мартина смогла сымитировать POS-терминал с помощью серийно выпускаемых мобильных устройств с поддержкой NFC. В своей работе исследователи показали, что для незаметного списания с карты почти миллиона в любой валюте (кроме фунта стерлингов), похитителям не требуется даже брать её в руки. Достаточно находиться рядом и просто махнуть смартфоном с запущенной программой-эмулятором.

Запуск эмулятора POS-терминала на смартфоне с поддержкой NFC (скриншот: Martin Emms, Budi Arief et al. )

«Используя обычный смартфон мы смогли создать эмулятор платёжного терминала, который считывает карту прямо через бумажник, – говорит Мартин. – Все процедуры проверки в данном случае выполняются на самой карте, поэтому к терминалу не предъявляется никаких специфических требований. Процесс списания выглядит совершенно легитимным и не вызывает подозрений. Вы просто вводите желаемую сумму для перевода и направляете смартфон на чей-то карман. В наших тестах вся процедура от ввода значения до подтверждения перевода занимала секунды».

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

Успешное списание 999999 евро (код валюты: 0978) эмулятором терминала (скриншот: Martin Emms / Newcastle University).

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

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

Схема снятия и обналичивания денежных средств с бесконтактных банковских карт (изображение: Martin Emms).

Первые бесконтактные карты были представлены на выставке в Сеуле ещё в 1995 году. Однако в международные платёжные системы они стали внедряться только спустя десять лет. Из повседневного опыта многие знают, что на практике бесконтактные карты часто требуется поднести вплотную к считывателю для повышения качества связи и скорости передачи данных. Однако по стандарту ISO/IEC 18092:2013 протокол NFCIP 1 позволяет выполнять бесконтактный обмен на расстоянии до двадцати сантиметров.

Альтернативный стандарт ISO/IEC 15693 предусматривает взаимодействие уже на расстоянии до полуметра. Это значит, что даже без дополнительных ухищрений незаметную кражу можно выполнить и в тех случаях, когда владелец не достаёт карту. Присесть или встать рядом с жертвой так, чтобы её сумка или внутренний карман оказались как можно ближе на пару секунд – что может быть проще?

Дополнительно атаки могут развиваться в сторону увеличения радиуса действия. Для этого потребуется модифицировать устройство, имитирующее POS-терминал. Например, изготовив рамочную антенну с большим коэффициентом усиления или повысив магнитную индукцию за счёт эффекта резонанса. «Если мы догадались, как сделать это, то злоумышленники тоже смогут», – резюмирует свой доклад Мартин.

Как принимать платежи по кредитным картам вручную

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

Операции без предъявления карты представляют собой самый большой процент мошенничества с картами, и он имеет тенденцию к увеличению.Ожидается, что в 2018 году объем мошеннических транзакций электронной коммерции достигнет 19 миллиардов долларов, при этом на мошенничество без предъявления карты будет приходиться 45 процентов всех случаев мошенничества с кредитными картами в США.

Почему это? Утечки данных в Target, Home Depot и Equifax снабдили мошенников практически неограниченным объемом личных данных. Сюда входят готовые к использованию кредитные карты и информация о держателях карт, необходимая для открытия новых кредитных линий.

Одновременно с этим внедрение EMV снизило возможности мошенников для совершения мошенничества в торговых точках, и они обратились к мошенничеству без предъявления карты, чтобы уменьшить свои потери.Это проблематично как для потребителей, так и для продавцов.

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

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

Если у вас еще нет терминала для кредитных карт, вам обязательно стоит купить его. Обработка личных транзакций вручную требует времени и подрывает меры предотвращения мошенничества, особенно EMV, доступные для транзакций с предъявлением карты.

Теперь, чтобы вручную принимать платежи по кредитным картам, они могут отличаться по внешнему виду и порядку в зависимости от вашего провайдера, но обычно влечет за собой следующие шаги:

  1. Введите номер предоставленной карты.
  2. Введите срок действия карты.
  3. Введите сумму, которая будет снята со счета.
  4. Введите имя держателя карты.

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

  1. Введите платежный адрес для карты.
  2. Введите почтовый индекс карты.
  3. Требовать, чтобы и почтовый индекс, и адрес выставления счета соответствовали банковским записям.
  4. Запросите CVV на карте (трехзначное число на обратной стороне карт Visa, MasterCard и Discover или четырехзначное число на лицевой стороне карт Amex).

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

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

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

Повышайте безопасность с помощью удаленной подписи

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

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

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

Хотите начать сбор удаленных подписей для ручной обработки карт?

Принимает ли ваша компания в настоящее время платежи по кредитным картам для транзакций без предъявления карты? Есть ли у вас протокол и рекомендуемые настройки безопасности для борьбы с мошенничеством? Сообщите нам о своем опыте в разделе комментариев ниже.

Примечание редактора: этот пост был первоначально опубликован в октябре 2017 года и был обновлен для обеспечения полноты и точности.

Общие сведения о типах клемм — продукты ID TECH

При выборе устройства чтения карт или перед началом сертификации EMV уровня 3 важно знать, какой тип терминала EMV вы будете поддерживать. В спецификациях EMV определены пятнадцать различных типов терминалов, в зависимости от того, обслуживается ли платежная среда (например, в традиционной розничной торговле) или без присмотра (например, киоск самообслуживания), и выходит ли терминал в режим онлайн или остается в автономном режиме, а также другие факторы. Типы терминалов, определенные EMV, показаны в таблице ниже, взятой из Приложения A Книги 4 EMV:

ID TECH предлагает широкий выбор устройств чтения карт с поддержкой EMV, но не все из них подходят для всех категорий, определенных выше. Текущие предложения ID TECH сертифицированы по 5 категориям (которые мы часто называем 1С, 2С, 3С, 4С и 5С). Сопоставление категорий ID TECH с типами терминалов, определенными EMV, более подробно показано ниже.

Возможности клемм

2C

3C

4C

5C

Major /

Незначительное

Возможность ввода данных карты
Тип клеммы

22

21

25

25

21

Ручной ввод ключа

Есть

Незначительный

Магнитная полоса

Есть

Есть

Есть

Есть

Есть

Незначительный

ИС с контактами

Есть

Есть

Есть

Есть

Есть

НЕТ

Возможность CVM
Обычный PIN-код

Есть

Есть

Майор

Интернет-шифрованный PIN-код

Есть

Есть

Майор

Подпись (Бумага)

Есть

Есть

Есть

Майор

Автономный зашифрованный PIN-код

Есть

Есть

Майор

Нет CVM

Есть

Есть

Есть

Есть

Есть

Майор

Примечание. CVM означает метод проверки держателя карты.«Без CVM» означает, что считыватель поддерживает определенные EMV сценарии «Без CVM», но обычно тот же считыватель фактически поддерживает и другие сценарии CVM, такие как чип и подпись или чип и PIN.

Многие считыватели ID TECH представляют собой считыватели 3-в-1, способные работать с магнитной полосой, контактировать с EMV и бесконтактным EMV. Считыватели, которые предназначены для использования в сценариях без присмотра (например, киоски самообслуживания), имеют конфигурации 3C или 4C. (Разница в том, что 3C может поддерживать чип и PIN-код, тогда как 4C не поддерживает PIN.) Некоторые продукты ID TECH, такие как VP8800, предназначены для обработки «ручного ввода ключа» (в дополнение к магнитной полосе и ICC), что означает транзакции отсутствия карты (почтовый / телефонный); эти считыватели используют то, что мы называем конфигурацией 1С.

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

Как только вы узнаете, какой тип конфигурации вам потребуется поддерживать, вы можете указать различные «настройки терминала» для таких вещей, как код страны терминала (тег 9F1A) и показатель валюты транзакции (5F36), которые считаются «второстепенными настройками» (см. крайний правый столбец?), то есть вы можете изменить их по своему желанию, не влияя на статус сертификации считывателя.Некоторые другие настройки, такие как Тип терминала (тег 9F35), считаются «Основными настройками», что означает, что вы не должны пытаться изменить их значения, поскольку они влияют на статус сертификации EMV L2. Любые настройки, которые вам нужно изменить, можно изменить с помощью инструмента ID TECH UDemo или (программно) с помощью вызовов API, доступных в универсальном SDK . (Если вы случайно попытаетесь изменить основную настройку, вы получите сообщение об ошибке.)

Подробное обсуждение настроек терминала выходит за рамки этого поста (может быть, он получит отдельный пост?), Но достаточно сказать, что настройка терминала устройства чтения карт является отправной точкой для начала любого уровня 3 EMV. сертификационный проект.(После этого вам необходимо загрузить все AID, которые вы хотите поддерживать своим читателем, и все открытые ключи или CAPK, которые вам необходимо поддерживать.)

Есть вопросы о типах терминалов? Нужна помощь с настройкой? Не уверены, какой тип кард-ридера лучше всего подходит для ваших нужд? Поговорите с одним из наших штатных экспертов! Свяжитесь с нами по телефону 1-800-984-1010. Мы будем рады услышать от вас.

Принять оплату | Stripe Documentation

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

 

Купить крутой новый продукт

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

Вам также необходимо указать:

  • A success_url , страницу на вашем веб-сайте для перенаправления вашего клиента после того, как он завершит платеж.
  • A cancel_url , страница на вашем веб-сайте для перенаправления клиентов, если они нажмут на ваш логотип в Checkout.

Сеансы оформления заказа истекают через 24 часа после создания.

После создания сеанса проверки перенаправьте своего клиента на URL-адрес, указанный в ответе.

 

Stripe.api_key = 

'sk_test_4eC39HqLyjWDarjtT1zdp7dc'

требуется 'json' требуется "синатра" post '/ create-checkout-session' сделать сессия = Stripe :: Checkout :: Session.Создайте({ позиции: [{ price_data: { валюта: 'usd', Данные продукта: { name: 'Футболка', }, unit_amount: 2000, }, количество: 1, }], режим: 'оплата', success_url: 'https://example. com/success', cancel_url: 'https://example.com/cancel', }) перенаправить session.url, 303 end

Проверьте свою конечную точку, запустив веб-сервер (например, localhost: 4242 ) и выполнив следующую команду:

 

curl -X POST -is "http: // localhost: 4242 / create-checkout -session "-d" "

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

 

HTTP / 1.1 303 См. Другие Расположение: https: //checkout.stripe.com/pay/cs_test _... ...

Тестирование

Теперь у вас должна быть работающая кнопка оформления заказа, которая перенаправляет вашего клиента в Stripe Checkout.

  1. Нажмите кнопку оформления заказа.
  2. Вы будете перенаправлены на форму оплаты Stripe Checkout.

Если интеграция не работает:

  1. Откройте вкладку «Сеть» в инструментах разработчика браузера.
  2. Нажмите кнопку оформления заказа и посмотрите, сделан ли запрос XHR к вашей конечной точке на стороне сервера ( POST / create-checkout-session ).
  3. Убедитесь, что запрос возвращает статус 200.
  4. Используйте console.log (session) внутри слушателя нажатия кнопки, чтобы убедиться, что возвращаются правильные данные.

Терминал для кредитных карт — лучший выбор для вашего бизнеса?

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

Терминал для кредитных карт и виртуальный терминал

Нужен ли вам терминал для кредитных карт, во многом зависит от типа вашего бизнеса. Если вы обрабатываете много личных платежей — например, в розничной торговле или в сфере гостеприимства — терминал для кредитных карт, вероятно, станет лучшим решением для вашего бизнеса. Однако, если большинство ваших клиентов платят онлайн, виртуальный терминал — удобная и экономичная альтернатива.

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

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

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

Преимущества виртуального терминала

1. Конфиденциальность держателя карты

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

2. Рентабельность

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

3. Надежный

Для большинства терминалов для кредитных карт требуется телефонное соединение. Хотя обычно это нормально, проблемы с сетью и сбои случаются — иногда на несколько часов подряд. Если терминал вашей кредитной карты не работает, это может стоить вашему бизнесу продаж. С другой стороны, виртуальному терминалу просто необходим доступ в Интернет, чтобы вы никогда не пропустили распродажу.

4. Удобство

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


Начните бесплатно сегодня

Если вы подумываете о замене терминала для кредитных карт виртуальным терминалом, вы можете бесплатно начать работу с помощью Pin Payments. Пин-платежи — это гибкая платежная платформа, которая позволяет принимать платежи по кредитным картам любым способом — онлайн, лично или по телефону.Зарегистрируйте учетную запись и присоединитесь к тысячам малых предприятий, которые доверяют Pin Payments для быстрых, безопасных и удобных платежей по картам.

Как использовать Linux Screen

Вы когда-нибудь сталкивались с ситуацией, когда вы выполняете длительную задачу на удаленном компьютере, и внезапно ваше соединение разрывается, сеанс SSH завершается, и ваша работа теряется. Что ж, в какой-то момент это случилось со всеми нами, не так ли? К счастью, есть утилита под названием screen , которая позволяет нам возобновлять сеансы.

Введение #

Экран или экран GNU — это оконечный мультиплексор. Другими словами, это означает, что вы можете запустить сеанс экрана, а затем открыть любое количество окон (виртуальных терминалов) внутри этого сеанса. Процессы, запущенные в Screen, продолжат работу, если их окно не отображается, даже если вы отключитесь.

Установка Linux GNU Screen #

В настоящее время пакет screen предустановлен в большинстве дистрибутивов Linux. Вы можете проверить, установлен ли он в вашей системе, набрав:

  screen --version  
  Screen version 4. 06.02 (GNU) 23 октября 17
  

Если в вашей системе не установлен screen, вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.

Экран установки Linux на Ubuntu и Debian #

  sudo apt update   sudo apt install screen  

Установка экрана Linux на CentOS и Fedora #

  sudo yum install screen  

Запуск экрана Linux #

Чтобы запустите сеанс экрана, просто введите в консоли экран :

  экран  

Это откроет сеанс экрана, создаст новое окно и запустит оболочку в этом окне.

Теперь, когда вы открыли сеанс экрана, вы можете получить список команд, набрав:

Ctrl + a ?

Начало именованного сеанса #

Именованные сеансы полезны при запуске сеансов с несколькими экранами. Чтобы создать именованный сеанс, запустите команду screen со следующими аргументами:

  screen -S имя_сеанса  

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

Работа с Linux Screen Windows #

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

Внутри сеанса экрана может быть несколько окон.

Чтобы создать новое окно с типом оболочки Ctrl + a c , ему будет присвоен первый доступный номер из диапазона 0 ... 9 .

Ниже приведены некоторые наиболее распространенные команды для управления Windows Screen Linux:

  • Ctrl + a c Создать новое окно (с оболочкой).
  • Ctrl + a " Список всех окон.
  • Ctrl + a 0 Перейти к окну 0 (по номеру).
  • Ctrl + a A Переименовать текущее окно.
  • Ctrl + a S Разделить текущую область по горизонтали на две области.
  • Ctrl + a | Разделить текущую область по вертикали на две области.
  • Ctrl + a вкладка Переключить фокус ввода на следующую область.
  • Ctrl + a Ctrl + a Переключение между текущим и предыдущим окнами
  • Ctrl + a Q Закройте все области, кроме текущего.
  • Ctrl + a X Закрыть текущую область.

Отключение от сеанса экрана Linux #

Вы можете отключиться от сеанса экрана в любое время, набрав:

Ctrl + a d

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

Повторное подключение к экрану Linux #

Чтобы возобновить сеанс экрана, используйте следующую команду:

  screen -r  

Если на вашем компьютере запущено несколько сеансов экрана, вам нужно будет добавить идентификатор сеанса экрана после переключателя r .

Чтобы найти идентификатор сеанса, укажите текущие сеансы запущенных экранов с помощью:

  screen -ls  
  Есть экраны:
    10835. pts-0.linuxize-desktop (отсоединено)
    10366.pts-0.linuxize-desktop (Отсоединено)
2 сокета в / run / screen / S-linuxize.
  

Если вы хотите восстановить screen 10835.pts-0, введите следующую команду:

  screen -r 10835  

Customize Linux Screen #

При запуске screen параметры конфигурации считываются из / etc / screenrc и ~ /.screenrc , если файл присутствует. Мы можем изменить настройки экрана по умолчанию в соответствии с нашими предпочтениями, используя файл .screenrc .

Вот пример конфигурации ~ / .screenrc с настроенной строкой состояния и несколькими дополнительными параметрами:

~ / .screenrc

  # Отключить приветственное сообщение
startup_message выкл.

# Отключить визуальный звонок
vbell off

# Установить буфер прокрутки на 10000
defscrollback 10000

# Настроить строку состояния
hardstatus alwayslastline
строка жесткого статуса '% {= kG} [% {G}% H% {g}] [% =% {= kw}%?% - Lw%?% {r} (% {W}% n *% f% t%? (% u)%?% {r})% {w}%?% + Lw%?%?% =% {g}] [% {B}% m-% d% {W}% c %{г}]'
  

Базовое использование экрана Linux #

Ниже приведены основные шаги для начала работы с экраном:

  1. В командной строке введите screen .
  2. Запустить нужную программу.
  3. Используйте последовательность клавиш Ctrl-a + Ctrl-d для отключения от сеанса экрана.
  4. Повторно подключитесь к сеансу экрана, набрав screen -r .

Заключение #

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

Подробнее о Gnu Screen можно узнать из Руководства пользователя Screen. страница.

Если у вас есть вопросы или отзывы, не стесняйтесь оставлять комментарии.

Решено: когда использовать счета-фактуры, виртуальный терминал и карту …

У нас есть несколько способов принимать платежи от клиентов, которые не стоят рядом с вами. Независимо от того, разговаривают ли ваши клиенты по телефону, по всей стране или на Луне — счета-фактуры, виртуальный терминал или ввод данных карты вручную в приложение Square POS помогут вам получить оплату.

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

Счета

Сборы
С помощью Square Invoices вы можете бесплатно отправлять онлайн-счета и платить 2,9% + 30 ¢ за каждый счет, оплачиваемый онлайн. Если ваш клиент является постоянным покупателем, вы также можете разрешить ему сохранить свою карту в файле, чтобы им не приходилось каждый раз вводить данные своей карты — при оплате картой в файле взимается комиссия в размере 3.5% + 15 ¢.

Подробная информация
Счета должны оплачиваться вашим клиентом онлайн. Когда вы вводите адрес электронной почты своего клиента, ему по электронной почте отправляется копия счета и предлагается ввести данные своей кредитной или дебетовой карты. Вы можете начать работу со счетами на панели управления.

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

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

Виртуальный терминал

Комиссии
С помощью виртуального терминала Square вы можете вводить платежи через панель управления Square и платить 3. 5% + 15 ¢. Это то же самое, что и плата за отсутствие карты, которую вы платите за ввод данных карты вручную в приложение Square Point of Sale на телефоне или планшете.

Подробная информация
Вы можете ввести информацию о клиенте в виртуальный терминал или, если у вас есть постоянные клиенты, вы можете использовать Card on File для безопасного хранения информации о своей карте для легкого доступа каждый раз при авторизации платежа. Плата за Card on File такая же, как и за виртуальный терминал — 3,5% + 15 ¢. Когда вы принимаете платеж с помощью виртуального терминала, вы также можете ввести адрес электронной почты своего клиента, чтобы убедиться, что он получит цифровую квитанцию, чтобы у него была запись о платеже.Узнайте больше о виртуальном терминале на вашей панели Square Dashboard.

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

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

Ручной ввод транзакции (карта отсутствует)

Комиссия
Комиссия за ввод данных карты вручную в приложение Square Point of Sale составляет 3,5% + 15 ¢.

Подробности
Когда вы вручную вводите транзакцию в Square POS, вам потребуется следующая информация:

  • Полный номер карты
  • Срок годности
  • Защитный код / ​​CVV
  • Почтовый индекс

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

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


Сообщите нам, поможет ли это и как мы можем продолжать облегчать вам жизнь!

pdb — Отладчик Python — документация Python 3.10.1

Исходный код: Lib / pdb.py


Модуль pdb определяет интерактивный отладчик исходного кода для Python программы. Он поддерживает установку (условных) точек останова и пошаговое выполнение на уровень исходной строки, проверка кадров стека, листинг исходного кода и оценка произвольного кода Python в контексте любого фрейма стека. Это также поддерживает посмертную отладку и может вызываться под управлением программы.

Отладчик расширяемый — фактически он определен как класс Pdb . В настоящее время это недокументировано, но легко понять, прочитав источник. В Интерфейс расширения использует модули bdb и cmd .

Приглашение отладчика: (Pdb) . Типичное использование для запуска программы под контролем отладчика:

 >>> импорт pdb
>>> import mymodule
>>> pdb.run ('mymodule.test ()')
> <строка> (0)? ()
(Pdb) продолжить
> <строка> (1)? ()
(Pdb) продолжить
NameError: 'спам'
> <строка> (1)? ()
(PDB)
 

Изменено в версии 3.3: Завершение табуляции через строку чтения Модуль доступен для команд и аргументы команды, e. г. текущие глобальные и локальные имена предлагаются как аргументы команды p .

pdb.py также можно вызывать как сценарий для отладки других сценариев. За пример:

 python3 -m pdb myscript.py
 

При запуске в качестве сценария pdb автоматически переходит в режим посмертной отладки, если отлаживаемая программа завершает работу ненормально. После посмертной отладки (или после нормального выхода из программы) pdb перезапустит программу. Автоматическая перезапуск сохраняет состояние PDB (например, точки останова), и в большинстве случаев полезно, чем выход из отладчика при выходе из программы.

Новое в версии 3.2: pdb.py теперь принимает параметр -c , который выполняет команды, как если бы они были заданы в файле .pdbrc см. Команды отладчика.

Новое в версии 3.7: pdb.py теперь принимает параметр -m , который запускает модули аналогично python3 -m делает. Как и в случае со сценарием, отладчик просто приостановит выполнение. перед первой строкой модуля.

Типичное использование для взлома отладчика из работающей программы: вставка

 импорт PDB; pdb.set_trace ()
 

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

Новое в версии 3.7: можно использовать встроенную точку останова () при вызове со значениями по умолчанию. вместо import pdb; pdb.set_trace () .

Типичное использование для проверки сбойной программы:

 >>> импорт pdb
>>> import mymodule
>>> моймодуль.контрольная работа()
Отслеживание (последний вызов последний):
  Файл "", строка 1, в 
  Файл "./mymodule.py", строка 4, в тесте
    test2 ()
  Файл "./mymodule.py", строка 3, в test2
    печать (спам)
NameError: спам
>>> pdb.pm ()
> ./mymodule. py (3) test2 ()
-> печать (спам)
(PDB)
 

Модуль определяет следующие функции; каждый входит в отладчик в немного иначе:

pdb. запустить ( инструкция , глобальные = нет , локальные = нет )

Выполнить инструкцию (заданную как строку или объект кода) в отладчике контроль.Приглашение отладчика появляется перед выполнением любого кода; ты сможешь установите точки останова и введите продолжить , или вы можете пройти через оператор, используя шаг или следующий (все эти команды объяснено ниже). Необязательные аргументы globals и locals указывают среда, в которой выполняется код; по умолчанию словарь модуль __main__ . (См. Объяснение встроенного exec () или eval () функций.)

pdb. runeval ( выражение , globals = None , locals = None )

Оценить выражение (заданное как строка или объект кода) в отладчике контроль. Когда runeval () возвращается, он возвращает значение выражение. В остальном эта функция аналогична run () .

pdb. runcall ( функция , * args , ** kwds )

Вызовите функцию (объект функции или метода, а не строку) с приводятся аргументы.Когда runcall () возвращается, он возвращает все, что вызов функции возвращен. Подсказка отладчика появляется, как только функция введен.

pdb. set_trace ( * , заголовок = Нет )

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

Изменено в версии 3. 7: Аргумент , содержащий только ключевое слово, заголовок .

pdb. post_mortem ( трассировка = нет )

Войти в посмертную отладку заданного объекта трассировки . Если нет traceback , он использует одно из исключений, которое в настоящее время обрабатывается (исключение должно обрабатываться, если значение по умолчанию использовал).

pdb. вечера ()

Введите посмертную отладку трассировки, найденной в sys.last_traceback .

Функции run * и set_trace () являются псевдонимами для создания экземпляра Pdb класс и вызов одноименного метода. Если хотите доступ к дополнительным функциям, вы должны сделать это сами:

класс pdb. Pdb ( completekey = ‘tab’ , stdin = None , stdout = None , skip = None , nosigint = False , readrc = True )

Pdb — класс отладчика.

Аргументы completekey , stdin и stdout передаются в лежащий в основе cmd.Cmd class; см. описание там.

Аргумент пропуска , если он задан, должен быть повторением имени модуля в стиле глобуса. узоры. Отладчик не будет переходить к кадрам, исходящим из модуля. что соответствует одному из этих шаблонов.

По умолчанию Pdb устанавливает обработчик для сигнала SIGINT (который отправляется, когда пользователь нажимает Ctrl - C на консоли), когда вы даете команду continue .Это позволяет вам снова взломать отладчик, нажав Ctrl - C . если ты хотите, чтобы Pdb не касался обработчика SIGINT, установите для nosigint значение true.

Аргумент readrc по умолчанию имеет значение true и определяет, будет ли Pdb загружаться. .pdbrc файлы из файловой системы.

Пример вызова для включения трассировки с пропуском :

 импорт PDB; pdb. Pdb (skip = ['django. *']). set_trace ()
 

Вызывает событие аудита pdb.Pdb без аргументов.

Новое в версии 3.1: пропустить аргумент .

Новое в версии 3.2: аргумент nosigint . Ранее обработчик SIGINT никогда не устанавливался Pdb.

Изменено в версии 3.6: Аргумент readrc .

run ( инструкция , глобальные = нет , локальные = нет )
runeval ( выражение , globals = None , locals = None )
runcall ( функция , * args , ** kwds )
set_trace ()

См. Документацию по функциям, описанным выше.

Команды отладчика

Команды, распознаваемые отладчиком, перечислены ниже. Большинство команд можно сокращенно до одной или двух букв, как указано; например h (elp) означает, что для ввода команды справки можно использовать либо h , либо help (но не he или hel , или H или Help или HELP ). Аргументы команд должны быть разделенные пробелами (пробелами или табуляциями).Необязательные аргументы заключены в квадратные скобки ( [] ) в синтаксисе команды; квадратные скобки не должны быть набрал. Альтернативы в синтаксисе команд разделены вертикальной чертой ( | ).

При вводе пустой строки повторяется последняя введенная команда. Исключение: если последний Команда была командой list , перечислены следующие 11 строк.

Команды, которые отладчик не распознает, считаются операторами Python. и выполняются в контексте отлаживаемой программы.Python операторы также могут иметь префикс восклицательного знака (! ). Это мощный способ проверки отлаживаемой программы; это даже возможно изменить переменную или вызвать функцию. Когда возникает исключение в таком оператор, имя исключения печатается, но состояние отладчика не измененный.

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

В одной строке можно ввести несколько команд, разделенных символом ;; .(А одиночный ; не используется, так как это разделитель для нескольких команд в строке который передается синтаксическому анализатору Python.) Никакой интеллект не применяется к разделению команды; вход разделен на первые ;; , даже если она находится в середина строки в кавычках.

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

Изменено в версии 3.2: .pdbrc теперь может содержать команды, продолжающие отладку, например продолжить или далее . Ранее в этих командах не было эффект.

h (elp) [команда]

Без аргумента распечатать список доступных команд. С командой как аргумент, выведите справку по этой команде. help pdb отображает полную документация (строка документации модуля pdb ). Начиная с команды аргумент должен быть идентификатором, help exec должен быть введен для получения справки по ! команда.

w (здесь)

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

d (собственный) [кол-во]

Переместить текущий кадр count (по умолчанию) уровней вниз в трассировке стека (в более новую рамку).

u (p) [количество]

Переместить текущий кадр count (по умолчанию) уровней вверх в трассировке стека (чтобы старый кадр).

b (reak) [([имя файла:] белье | функция) [, условие]]

С аргументом lineo установите разрыв в текущем файле. С функция аргумент, установите перерыв в первом исполняемом операторе в пределах эта функция.Номер строки может начинаться с имени файла и двоеточия, чтобы указать точку останова в другом файле (возможно, тот, который не был загружен пока что). Файл ищется по sys.path . Обратите внимание, что каждая точка останова присваивается номер, на который ссылаются все остальные команды точки останова.

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

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

tbreak [([имя файла:] белье | функция) [, условие]]

Временная точка останова, которая автоматически удаляется при первом достижении. Аргументы те же, что и для , перерыв .

cl (ухо) [имя файла: белье | bpnumber ...]

С аргументом имя_файла: белье очистите все точки останова в этой строке. С помощью списка номеров точек останова, разделенных пробелами, удалите эти точки останова.Без аргументов удалите все перерывы (но сначала спросите подтверждение).

отключить [bpnumber ...]

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

включить [bpnumber...]

Включить указанные точки останова.

игнорировать bpnumber [количество]

Установить счетчик игнорирования для заданного номера точки останова. Если счетчик опущен, счетчик игнорирования установлен на 0. Точка останова становится активной, когда игнорируется счетчик равен нулю. Если не равен нулю, счет уменьшается каждый раз, когда точка останова достигнута, и точка останова не отключена, и все связанные условие оценивается как истинное.

условие bpnumber [состояние]

Установить новое условие для точки останова, выражение, которое должно вычисляться до истины до того, как будет соблюдена точка останова.Если условие отсутствует, любое существующее состояние удалено; т.е. точка останова делается безусловной.

команд [bpnumber]

Укажите список команд для точки останова номер bpnumber . Команды сами появляются в следующих строках. Введите строку, содержащую только конец , чтобы завершить команды. Пример:

 (Pdb) команды 1
(com) p some_variable
(com) конец
(PDB)
 

Чтобы удалить все команды из точки останова, введите команды и следуйте за ней. сразу с конец ; то есть не отдавать команд.

Без аргумента bpnumber команда относится к последней установленной точке останова.

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

Указание возобновления выполнения любой команды (в настоящее время продолжить , шаг , следующий , return , jump , quit и их сокращения) завершает список команд (как если бы за этой командой сразу же следовало end).Это потому, что каждый раз, когда ты возобновить выполнение (даже с простым next или step), вы можете столкнуться с другим точка останова — у которой может быть собственный список команд, что приводит к двусмысленности какой список выполнить.

Если вы используете команду «без звука» в списке команд, обычное сообщение о остановка в точке останова не печатается. Это может быть желательно для точек останова которые должны напечатать конкретное сообщение, а затем продолжить. Если никто другой команды печатают что-нибудь, вы не видите никаких признаков того, что точка останова была достигнута.

с (теп)

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

n (доб)

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

Unt (il) [белье]

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

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

Изменено в версии 3.2: Разрешено указывать номер строки в явном виде.

р (этурн)

Продолжить выполнение, пока не вернется текущая функция.

c (ont (inue))

Продолжить выполнение, останавливаться только при обнаружении точки останова.

j (ump) полотно

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

Следует отметить, что не все прыжки разрешены — например, это запрещено. можно прыгнуть в середину петли на или из наконец пункт.

л (ист) [первая [, последняя]]

Вывести исходный код текущего файла. Без аргументов перечислить 11 строк вокруг текущей строки или продолжить предыдущее перечисление. С . как аргумент, перечислить 11 строк вокруг текущей строки. С одним аргументом, перечислите 11 строк вокруг этой строки. С двумя аргументами укажите указанный диапазон; если второй аргумент меньше первого, он интерпретируется как счетчик.

Текущая строка в текущем кадре обозначается как -> .Если исключение отлаживается, строка, в которой изначально было исключение поднятый или размноженный обозначается >> , если он отличается от текущего линия.

Новое в версии 3.2: Маркер >> .

ll | длинный список

Вывести весь исходный код для текущей функции или кадра. Интересные строчки помечены как для списка .

а (ргс)

Распечатать список аргументов текущей функции.

p выражение

Вычислить выражение в текущем контексте и распечатать его значение.

Примечание

print () также можно использовать, но это не команда отладчика — она ​​выполняет Функция Python print () .

pp выражение

Аналогично команде p , за исключением того, что значение выражения равно красиво напечатано с использованием модуля pprint .

whatis выражение

Выведите тип выражения .

источник выражение

Попробуйте получить исходный код для данного объекта и отобразить его.

дисплей [выражение]

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

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

не отображать [выражение]

Больше не отображать выражение в текущем кадре. Без выражение, очистить все отображаемые выражения для текущего кадра.

взаимодействовать

Запустить интерактивный интерпретатор (с использованием модуля кода ), глобальный пространство имен содержит все (глобальные и локальные) имена, найденные в текущем сфера.

псевдоним [имя [команда]]

Создайте псевдоним имя , который выполняет команду . Команда должна , а не следует заключать в кавычки. Заменяемые параметры могут быть обозначены % 1 , % 2 и т. Д., А % * заменяются всеми параметрами. Если команда не задана, отображается текущий псевдоним для имя . Если нет приведены аргументы, перечислены все псевдонимы.

Псевдонимы могут быть вложенными и содержать все, что можно ввести на законных основаниях. приглашение pdb. Обратите внимание, что внутренние команды pdb могут быть отменены псевдонимы. Затем такая команда скрывается до тех пор, пока псевдоним не будет удален. Сглаживание рекурсивно применяется к первому слову командной строки; все остальные слова в очереди остались одни.

В качестве примера, вот два полезных псевдонима (особенно при размещении в .pdbrc файл):

 # Печатать переменные экземпляра (использование "pi classInst")
псевдоним pi для k в% 1.__dict __. keys (): print ("% 1.", k, "=",% 1 .__ dict __ [k])
# Печатать переменные экземпляра в себе
псевдоним ps pi self
 
unalias имя

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

! выписка

Выполнить (однострочный) оператор в контексте текущего кадра стека. Восклицательный знак можно опустить, если только первое слово утверждения напоминает команду отладчика.Чтобы установить глобальную переменную, вы можете префикс команда присваивания с глобальным оператором в той же строке, например:

 (Pdb) global list_options; list_options = ['-l']
(PDB)
 
запустить [аргументы ...]
перезапуск [аргументы ...]

Перезапустите отлаженную программу Python. Если указан аргумент, он разбивается с shlex , и результат используется как новый sys.argv . История, точки останова, действия и параметры отладчика сохраняются. restart — это псевдоним для run .

q (uit)

Закройте отладчик. Выполняемая программа прерывается.

отладка код

Введите рекурсивный отладчик, который выполняет код аргумент (который является произвольным выражением или утверждением, которое выполняется в текущей среде).

Похожие записи

Вам будет интересно

В2В center: Корпоративные закупки и продажи онлайн

Обязанности торгового агента для резюме: Образец резюме торгового представителя — примеры заполнения анкет и резюме

Добавить комментарий

Комментарий добавить легко