Имейте Вас, пытался делать:
# Makefile.common
TOP ?= $(shell pwd)
COMPONENT_DIR := $(TOP)/component
COMPONENT_INC := $(COMPONENT_DIR)/include
COMPONENT_LIB := $(COMPONENT_DIR)/libcomponent.a
# other_component/Makefile
TOP ?= ..
include ../Makefile.common
Используя? = конструкция помешает TOP переопределяться, если это будет уже установлено. Можно установить его на соответствующее значение на основе того, где Вы находитесь в дереве, когда Вы вызываете, делают. Я признаюсь, что это было некоторое время, так как я использовал GNU, делают так, это не может работать или, возможно, нуждается в некоторых тонких настройках.
Я думаю, вы запутались, когда вы проводите карту в магазине, машина знает, какая у вас карта. Хотя с моей голландской дебетовой картой у меня всегда была возможность выбрать…
Но я предполагаю, что магнитная полоса хранит больше, чем просто номер, и считыватели карт используют его для определения вашего типа карты.
Вы просто надо будет присоединиться к другим приложениям / сайтам и спросить пользователя :)
не знаю, для чего вам это нужно, но Я знаю, что во всех POS-системах Попросите ПОЛЬЗОВАТЕЛЯ указать тип карты.
вы можете использовать «Дебетовая как кредитная» - пин-код не нужен
вы можете запустить «Кредит как дебет» - введите свой PIN-код, и транзакция будет считаться авансом
Wiki содержит списки префиксов кредита и дебета
Однако некоторые карты IIRC могут использоваться как кредитные, так и дебетовые в зависимости от контекста.
Вы, вероятно, уже узнали об этом через свой платежный шлюз, но карты (дебетовые, кредитные, пользовательские [например, карты магазина] нелегко различить без небольшой помощи. Обычно вы можете отправить номер карты на платежный шлюз, и они предоставят вам эту информацию, но вы можете вычислить это с помощью простой таблицы префиксов.
Проще говоря, каждому банку / организации предоставляется доступ к определенному набору префиксов [ числа в начале], и в зависимости от желаемого уровня детализации вы можете сопоставить любой номер карты организации с помощью префикса. Что приятно, так это то, что дебетовые и кредитные карты используют разные префиксы даже из одного банка.
С точки зрения веб-шлюза вам обычно все равно, поскольку платежный шлюз автоматически сообщит вам, принимают ли они карту, сделайте hotcard проверяет вас и подтверждает другую введенную информацию.
Комментарий (вверху / внизу) о том, что вам не нужно вводить PIN-код на дебетовой карте, неверен. Это не дебетовая карта,
Диапазон чисел. Вот небольшой отрывок из старой спецификации, которая у меня когда-то была.
К настоящему времени могут быть и другие методы, например, в ответном сообщении от процессора, но мне давно не приходилось с этим сталкиваться. Мы обрабатываем все как кредитную карту, и если карта строго дебетовая, банк просто позаботится об этом.
Лучший код, который я видел для проверки типа карты - это Javascript страница по адресу http://www.eflo.net/mod10.htm - может различать дебетовую и кредитную карту VISA, как вы просили, и многие другие варианты карт. Я очень легко портировал этот код на C#.
Другая альтернатива - приобрести копию базы данных BIN (Bank Identification Number), которая представляет собой список всех префиксов карт, выпуск карты и требования к проверке карты (например, дата истечения срока действия, номер выпуска, дата начала действия). Некоторые источники BIN;