Преди няколко години за първи път ми се наложи да реализирам виртуален пос терминал в един проект на работа. Като цяло процеса не е никак сложен и се състои в няколко стъпки. Когато търсих лесен туториал, така и не открих за това ще нахвърлям тук какъв е процеса на създаването.
Тук може да откриете всички налични документи с описание на процеса, примерна реализация на C#, Win32OpenSSL програмка за генериране на необходимите ключове и сертификати, както и едно readme, писано от мен за последователността по създаване на самите сертификати.
На този линк може да проверите за по-нови версии на OpenSSL програмката. За версии над 1.0 може да ви е необходими конфигурационен файл за openssl. Може да го смъкнете от тук и да го преименувате на .cnf
За да приложите този конфигурационен файл в Command Prompt въведете командата
set OPENSSL=c:\OpenSSL-Win32\openssl.cnf
След тази операция, openssl програмката трябва да е готова за работа. Командите в нея се въвеждат без openssl отпред, както е описано в pdf файловете на борика.
Първото нещо, което е необходимо да направите е да сключите договор с избрана от вас банка, която предлага услугата виртуален пос терминал. Със самото сключване на договора не съм запознат, но е някаква стандартна процедура и не би трябвало да има нещо особено.
След като имате договор, ще ви предоставят няколко pdf файла, описващи начина на работа на пос терминала и още някакви документации. Като цяло е хубаво да ги прегледате поне набързо, за да няма някакви изненади в последствие. Файловете може да откриете в архива по-горе.
Процеса започва със създаването на няколко ключа и сертификата от ваша страна, които след това изпращате на банката. Изпращате им 3 .csr файла(един реален, един за тестовия сървър и един за etLog портала). Те от своя страна на базата на вашите файлове ви връщат други, генерирани от тях. Вие завършвате генерирането на файлове със създаването на нови, на база на тези които сте получили от банката. Финалните файлове слагате някъде във вашият проект. Целия процес го има описан в readme файла в архива по-горе, както и в един от pdf файловете предоставени от банката.
След като сте създали успешно всички необходими сертификати, следва изпращането на request към сървъра на борика. Всякакво въвеждане на данни за карти се прави на сайта на борика, който след това ви връща обратно на вашият сайт. За целта трябва да предоставите url, на който да ви върнат след завършване на операцията по плащане и съответно там да обработите, кода за статус на операцията. Предоставя се и тестов сървър на който могат да се правят тестови плащания. Нещо много важно, което преди време беше като проблем и не знам дали са отстранили. Дори и при вярно работещо плащане, тестовия сървър връщаше някакъв код за грешка, вместо да върне че всичко е ОК. Може би вече е фикснато, но е хубаво да се има предвид.
В pdf файловете има адрес на etLog портала, в който може да следите направените транзакции през пос терминала, както и техния статус.
За самите request и response в архива има примерен код предоставен от Венцислав Кунев във форума bgdev.org Процеса е достатъчно ясен и няма нужда от обширни обяснения.
Нещо, което също се сещам че беше задължително е, че на страницата където правите request-a към борика(където е бутона ви Плати) трябва да имате логата на VISA, MasterCard, БОРИКА и т.н. Това със сигурност го имаше някъде описано във документацията във файловете.
Надявам се това да е полезно, както на мен за в бъдеще когато ми се наложи отново да правя пос терминал, така и на други колеги.
Ако имате някакви допълнения или въпроси, може да пишете.