Вы делаете это неправильно, но на самом деле это намного проще, чем описано в двух предлагаемых решениях.
Во-первых, вы никогда не получите исчерпывающий список типов карт.Я создаю программное обеспечение для обработки кредитных карт на протяжении многих лет, и лучшие процессоры могут сделать это, чтобы предоставить вам общий список для каждого процессора. Список, который они предоставляют, обычно классифицирует карты только как карты уровня 1 или варианты карт уровня 2 или 3 (флот, карты P и т. Д.). Поэтому, если вы не имеете дело с отправкой данных о позициях с расчетами, вам не нужно иметь дело с этим. (Поверьте мне, вы НЕ ХОТИТЕ С этим бороться ... это чистый хаос.)
Что вам нужно сделать, так это процесс, когда вы ставите авторизацию на средства на момент доставки информации. Это вычитает сумму, которую владелец карты может потратить на карту и резервирует ее для вас. Хотя у вас есть это удержание, маловероятно, что у вас возникнет проблема со сбором денег. Это не предварительная авторизация; предварительная авторизация дает вам общее представление о том, что карта действительна, но не резервирует средства для последующего сбора.
Есть два способа, то вы можете собрать деньги:
- Используйте процессор, который выполняет захват хоста. Это означает, что в определенное время суток все ваши выдающиеся разрешения будут автоматически урегулированы. Это идеально подходит для вас, если вы отправляете электронную информацию в момент авторизации.
- Сделайте свой собственный ежедневный процесс, который отправляет транзакцию для расчета процессору (например, захват терминала). Используя этот способ, вы можете решить, когда собирать деньги, если, возможно, есть какая-то задержка в доставке купленных предметов. (Например, возможно, вам нужно изготовить купленный товар.)
В любом случае, ваши клиенты могут использовать любой тип карты, который они хотят, и они будут взиматься только после их покупки. Они могут даже отменить свою карточку сразу после покупки, но они не смогут обойти резервную копию своего OTB (открытого для покупки), который вы разместили на их средствах. Поэтому, даже если они использовали виртуальную карту или кассовую карточку, они смогут только снять средства за вычетом суммы вашего бронирования.
И, вопреки распространенному мнению, вы можете хранить номер кредитной карты. Это просто означает, что у вас есть более высокий бар для преодоления соответствия PCI. В вашем случае решение для токенизации может немного снизить этот бар. Есть несколько процессоров, которые предлагают это, но это длительная дискуссия для другого потока.
Что такое сделка по удержанию? – Steffan
@Steffan http://en.wikipedia.org/wiki/Authorization_hold –
Операция Aka AUTH –