[Delphi] Делаем свой чекер картона

biozz

Member
Joined
Jan 18, 2018
Messages
2,601
Reaction score
410
Для начала нам надо найти мерчант, через который будет проходить процесс чекинга)

[Поиск мерчанта для чекера]
В этой статье я буду использовать Donate (дальше донат).
Донат можно найти в гугле такими запросами:

Code:
donate by credit card
donate for animals
donate for kinds
и так далее...
Для примера я буду использовать Этот донат уже очень сильно задрочен мной... на нем ввели проверку адреса холдера + с 1 карты можно попытаться сделать пожертвование только 1 раз.

[Узнаем, какие запросы передаются сайту]
Чтобы узнать какие данные передаются сайту я использую плагин к Firefox:

Code:
HttpFox
.
Его можно найти в гугле).
После установки плагина в правом нижнем углу появится значок плагина.
Итак, переходим на сайт доната, вводим данные, для этого доната обязательно надо указывать следующие верные данные:

Code:
номер карты
експ
зип код
.
Жмем в плагине старт и на кнопку Donate! на странице доната.
После того, как страница выдала результат, в плагине HttpFox ищем строчку с POST запросом на сайт. (смотрим скрин, я обвел этот запрос).
asd123482377.png


Жмем на эту строчку и выбираем вкладку POST DATA, там будут данные, передаваемые сайту, которые собственно нам и нужны).

[Кодинг]
Я использую Delphi XE, т.к там сразу включены нормально работающие компненты Indy.
Запросы мы будет отправлять средствами Indy.
Для начала бросаем на форму пару Edit'ов для ввода данных для чека(номер карты, експ, зип), компонент IdHTTP из вкладки Indy Clients, и компонент IdSSLIOHandlerSocketOpenSSL (для работы с SSL) из вкладки Indy I/O Handlers и кнопку, по нажатии который будет происходить чек карты.
Связываем эти компоненты: Выделяем на форме компонент IdHTTP и в Object Inspector'е выбираем свойство IOHandlers и выбираем из списка IdSSLIOHandlerSocketOpenSSL.
Далее создаем переменную page типа string, в которой будет хранится страница ответа сервера и переменную типа Tstringlist я назвал ее ccdata. В переменной ccdata будут хранится данные для POST запроса.
Для начала нужно создать переменную ccdata, делается это так:

Code:
ccdata:=tstringlist.create;
Теперь нам надо сделать так, чтобы компонент IdHTTP делал автоматические редиректы:

Code:
idhttp1.HandleRedirects:=true;
Добавляем в переменную ccdata, данные которые мы получили из плагина HttpFox:

Code:
ccdata.Add('firstname=vasya');
ccdata.Add('lastname=pupkin');
ccdata.Add('address1=4ertenok');
ccdata.Add('address2=');
ccdata.Add('city=4ertenok');
ccdata.Add('state=4k');
ccdata.Add('zipcode='+zipcode.Text);
ccdata.add('[email protected]');
ccdata.add('phone=');
ccdata.Add('cardnumber='+cardnum.text);
ccdata.Add('expmonth='+month.Text);
ccdata.Add('expyear='+year.Text);
ccdata.Add('donation=1'); // сумма
ccdata.Add('comments=');
ccdata.Add('Submit=Donate!');
Далее делаем POST запрос на страницу и помещаем ответ в переменую page:
Код:
Code:
page:=idhttp1.post('https://www.amconmag.com/donatethankдеs.html',ccdata);
Теперь анализируем ответ и выдаем результат:

Code:
if pos('There is a problem with this transaction',page)<>0 then begin
result.caption:='НЕВАЛИД!';
end
else begin
result.caption:='ВАЛИД!';
end;
т.е если найдена фраза There is a problem with this transaction, значит чекер выдает НЕВАЛИД! , иначе чекер покажет ВАЛИД!.
Нас учили убирать за собой:

Code:
ccdata.free;
 

Evolinte

Member
Joined
Mar 7, 2015
Messages
215
Reaction score
40
Спасибо.Всё подробно расписано.))))
 

Evolinte

Member
Joined
Mar 7, 2015
Messages
215
Reaction score
40
Ещё вопрос.А обязательно Delphi XE?Может можно использовать Delphi7?
 

Valeraman

Member
Joined
Nov 23, 2006
Messages
5
Reaction score
0
"Yo, I just made a quick Delphi checker for verifying card details, might help with this project. Can anyone share an example of what the end result should look like? I'm thinking of publishing my code if it's useful."
 

Makc_79

New member
Joined
Dec 13, 2017
Messages
3
Reaction score
0
"Hey guys, I've been experimenting with using OCR to automate card number detection in Delphi. Not too difficult to implement, but be aware it'll likely require some adjustments for different fonts and lighting conditions. Anyone have experience with similar projects?"
 

gevara

New member
Joined
Jun 7, 2004
Messages
3
Reaction score
0
"Hey, I'm not fluent in Russian but I think it's about making a card checker for Delphi. If anyone needs help, we could use a translation to get started. Anyone have a rough idea how they plan on implementing it?"
 

snowman2002

New member
Joined
Jun 6, 2004
Messages
3
Reaction score
0
"Yo, I'm not really familiar with the Delphi language, but isn't this checker for validating card data? Can someone explain the purpose and what kind of info it can verify?"
 

hakkum

New member
Joined
Nov 22, 2006
Messages
4
Reaction score
0
I'm not really following what's going on here, OP, can you explain what you mean by 'чекер картона'? You're talking about a Delphi project or something?
 

Tipidor098123

New member
Joined
Aug 15, 2018
Messages
3
Reaction score
0
"Hey, I'm interested in this project. Can you give me a rough idea of what kinda tech we're using here, is it Python or something else? And btw, what's the goal of the card checker?"
 

ncxetrcdo

Member
Joined
Sep 7, 2012
Messages
8
Reaction score
0
I've tried using the Delphi compiler for card checker projects before, but it's super outdated by today's standards. If you're looking for something more efficient, you might want to consider switching to a modern language like Rust or C++. Have you tried using any card validation libraries for Delphi?
 

Оля Кики

New member
Joined
Feb 16, 2017
Messages
2
Reaction score
0
"Hey, what's the latest on this Delphi project? I tried installing it a few days ago but it kept crashing on me. Anyone have a working setup or fix for this?"
 

marcelomcg

New member
Joined
Jun 7, 2013
Messages
4
Reaction score
0
"Hey, guys, just a heads up - I'm still trying to wrap my head around Delphi and how it applies to card checker development. Has anyone got a basic example of a Delphi card checker they could share or a link to a tutorial? I'd love to dive in and learn more"
 

IvanPetr

New member
Joined
Jul 17, 2015
Messages
3
Reaction score
0
"Hey, I know some of you have been working on card checker projects. Has anyone found any reliable sources for getting real-time card BIN data? Would love to hear about any success stories or resources you've discovered"
 
Top