Интеграция с Ккм Через Библиотеку Pilot_nt

7
Предложения по интеграции программного модуля Сбербанка с ПО ККМ под управлением ОС Windo! 1. Общие положения Для обслуживания банковских карт Сбербанк предоставляет программную библиотеку PILOT !T" #LL$ обе спе% ива ющу ю про вед ение авт ори&а 'и( по кар там$ а такж е )ормирование карто%н*х %еков и итогов*х от%етов &а ден+" Для работ * с кар тами кас сов *( апп ара т осна щает ся доп олните л+н*м вне ,ни м устро(ством - ./01клавиатуро(" 2то устро(ство испол+&уется для с%ит*вания карт$ для вво да ./01кода клиентом$ а также в*полняет )у нк'и и кри пт огр а)и%еск о( &ащит* при обмене данн*ми с про'ессингово( системо( Сбербанка" ./01клавиатура мож ет подклю% ат+ ся к свобо дному СО31п орт у 4мод ели 56 789:; 6 <=>>?$ <=>@@ @$ 5ABC @$ I;D6; 8E: F@G@ H или к порт у <J 456 789:; 6 5ABC @$ I;D6; 8E: F@G@ H" Сберб анк предоставляет Kто устро(ство бесплатно на период де(ствия договора Kква(ринга с торго в*м предприятием" сли кассов*( аппарат 4MM3H оснащен собственн*м ридером для магнитно( полос*$ то в период первона%ал+но( ра&работкиNотладки кассового .О можно обо(тис+ бе& ./01клавиатур*" Для окон%ател+ного тестирования 4а также для реал+но( работ* в торговом предприятииH ./01клавиатура понадобится обя&ат ел+но" 2. становка и кон)игурирование библиотеки дистрибутивн*( комплект библиотеки вход ят следующие каталогиQ Docs - содержит документа'июна библиотеку$ Rуководство пол+&ователя и т"д" Config -содержит программу для редактировани я настрое%ного )а(ла библиотеки" Soft\PC\Pilot_nt  - собственно исполняем*е )а(л* библиотекиQ Pilot_nt.dll  - основная библиотека$ которую должно в*&*ват+ .О MM3S Sb_kernel.dll, Gate.dll - сл ужебн*е библиотекиS LoadParm.exe  - ут илита для &аг ру &ки пар амет ров биб лиот еки и дру гих технологи%еских опера'и(" .еред на%алом работ* необходимоQ 1. Скопироват+ на MM3 содержимое каталогов Soft\PC\Pilot_nt  и Config" 2. сли испол+&уется ./01клавиатура$ тоQ с помощ+ю программ* Config\TlvEdit.exe  отредактироват+ )а(л Soft\PC\Pilot_nt\Examle!it"Pinad.tlv $ установив требуем *м обра&ом параметр Общие параметр* U .араметр* для терминалов на ба&е RС U 0омер СО31порта для ./01 клавиатур* V" 3. Wапустит+ программу Soft\PC\Pilot_nt\LoadParm.exe.  4. Wа(ти в меню Служебн*е опера'ии U 0астро(ка U Xехобслуживание U 4.арол+ BGBGBGH U Wагру&ка параметров" C

Transcript of Интеграция с Ккм Через Библиотеку Pilot_nt

Page 1: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 1/7

Предложения по интеграции программного модуля Сбербанка

с ПО ККМ под управлением ОС Windo!

1. Общие положения

Для обслуживания банковских карт Сбербанк предоставляет программную библиотеку

PILOT!T"#LL$ обеспе%ивающую проведение автори&а'и( по картам$ а также

)ормирование карто%н*х %еков и итогов*х от%етов &а ден+"

Для работ* с картами кассов*( аппарат оснащается дополнител+н*м вне,ним

устро(ством - ./01клавиатуро(" 2то устро(ство испол+&уется для с%ит*вания карт$

для ввода ./01кода клиентом$ а также в*полняет )унк'ии криптогра)и%еско(

&ащит* при обмене данн*ми с про'ессингово( системо( Сбербанка" ./01клавиатура

может подклю%ат+ся к свободному СО31порту 4модели 56789:;6 <=>>?$ <=>@@@$

5ABC@$ I;D6;8E: F@G@H или к порту <J 456789:;6 5ABC@$ I;D6;8E: F@G@H" Сбербанк

предоставляет Kто устро(ство бесплатно на период де(ствия договора Kква(ринга с

торгов*м предприятием"

сли кассов*( аппарат 4MM3H оснащен собственн*м ридером для магнитно( полос*$

то в период первона%ал+но( ра&работкиNотладки кассового .О можно обо(тис+ бе&

./01клавиатур*" Для окон%ател+ного тестирования 4а также для реал+но( работ* в

торговом предприятииH ./01клавиатура понадобится обя&ател+но"

2. становка и кон)игурирование библиотеки

дистрибутивн*( комплект библиотеки входят следующие каталогиQ

Docs - содержит документа'июна библиотеку$ Rуководство пол+&ователя и т"д"Config -содержит программу для редактирования настрое%ного )а(ла библиотеки"

Soft\PC\Pilot_nt - собственно исполняем*е )а(л* библиотекиQ

Pilot_nt.dll - основная библиотека$ которую должно в*&*ват+ .О MM3S

Sb_kernel.dll, Gate.dll - служебн*е библиотекиS

LoadParm.exe  - утилита для &агру&ки параметров библиотеки и других

технологи%еских опера'и("

.еред на%алом работ* необходимоQ

1. Скопироват+ на MM3 содержимое каталогов Soft\PC\Pilot_nt  и Config"

2. сли испол+&уется ./01клавиатура$ тоQ

с помощ+ю программ* Config\TlvEdit.exe  отредактироват+ )а(л

Soft\PC\Pilot_nt\Examle!it"Pinad.tlv $ установив требуем*м обра&ом

параметр

Общие параметр* U .араметр* для терминалов на ба&е RС U 0омер СО31порта для ./01

клавиатур*V"

3. Wапустит+ программу Soft\PC\Pilot_nt\LoadParm.exe.  

4. Wа(ти в меню Служебн*е опера'ии U 0астро(ка U Xехобслуживание U 4.арол+BGBGBGH U Wагру&ка параметров"

C

Page 2: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 2/7

5. *брат+ )а(л Examle!it"Pinad.tlv $ если испол+&уется ./01клавиатура$ или

)а(л ExamleTest.tlv  - в противном слу%ае"

6. Дождат+ся &авер,ения про'едур* &агру&ки параметров"

Yиблиотека готова к работе" сли в ходе работ* во&никнет необходимост+ и&менит+

какие1либо параметр* библиотеки$ следует повторит+ описанную в*,е про'едуру$

на%иная с ,ага ?"

3. Описание )унк'и( библиотеки

.ри проведении опера'и( по картам испол+&уются следующие )унк'ии и структур*Q

int card_authorize(char* track2,  struct auth_answer* auth_ans);

int card_authorize6(char* track2,  struct auth_answer6* auth_ans);

int card_authorize7(char* track2,  struct auth_answer7* auth_ans);

int card_authorize9(char* track2,  struct auth_answer9* auth_ans);

#ragma ack$%&

str'ct a't"_ans(er)  int TT*e+ -/01 234 2567869:33  'nsigned long ;mo'nt+ -/01 <=>>6 - 9/4?@96  c"ar Acode B%+ -F/01 9/0 5?8=H2626 6-2/5386:33  c"ar ;IessageB%J + -F/01 </-?<7/? 4/K<7?73? 5?8=H2626

  int CT*e+ -F/01 234 9652Fc"ar C"eck+ -F/01 /M568 N?96, 0/O?7 /<-/M/O062H<K  Globalree - -F8F-6QR?@ 45/56>>?+

str'ct a't"_ans(erJ)  str'ct a't"_ans(er a't"_ans(+  c"ar ;'t"CodeBU+ -F/01 9/0 6-2/5386:33  c"ar CardVDBW+ -F/01 30?723X3962/5 $7/>?5& 9652F  int ErrorCode+ -F/01 4/05/M7F@ 9/0 /Y3M93  c"ar TransDateBZ+ -F/01 0626 3 -5?>K /4?56:33  int Trans['mber+ -F/01 7/>?5 /4?56:33 86 0?7H  c"ar AA[B%+ -/0-F/01 <<F/N7F@ 7/>?5 45?06-2/5386:33+

str'ct a't"_ans(erU)  a't"_ans(er ans+ -/0-F/01 /<7/-7F? 4656>?25F /4?56:33 $<>.-FY?&  c"ar ;'t"CodeBU+ -F/01 9/0 6-2/5386:33  c"ar CardVD BW+ -F/01 7/>?5 9652F  int Sber](nCard+ -F/01 X6 453760?O7/<23 9652F ^M?5M679=+

str'ct a't"_ans(er)  a't"_ans(er ans+ -/0-F/01 /<7/-7F? 4656>?25F /4?56:33 $<>.-FY?&  c"ar ;'t"CodeBU+ -F/01 9/0 6-2/5386:33  c"ar CardVD BW+ -F/01 7/>?5 9652F  int Sber](nCard+ -F/01 X6 453760?O7/<23 9652F ^M?5M679=c"ar `as"B%+ -F/01 ?Y S`;% /2 7/>?56 9652F - X/5>62? ;SCVV

+

#ragma ack$&

Zунк'ия испол+&уется для проведения оплат*$ предавтори&а'ии$ &авер,ения рас%етапо банковско( карте$ а также при необходимости для во&вратаNотмен* платежа"

?

Page 3: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 3/7

ходн*е параметр*Q

  c"ar track

/O?2 3>?2H 876N?73? [LL 33 </0?5O62H 0677F? @ 0/5/O93 9652F, <N32677F?96<</-/@ 45/56>>/@.

  int TT*e

34 /4?56:331% /4626, -/8-562/2>?76 /462F,W% 45?06-2/5386:3K,W 86-?5Y?73? 56<N?26.

  'nsigned long ;mo'nt

^=>>6 /4?56:33 - 9/4?@96.

*ходн*е параметр*Q

  c"ar ACodeB%

h?8=H262 6-2/5386:33. 76N?73K jZZ 33 jZ /876N6Q2 =<4?Y7=Q 6-2/5386:3Q, QMF?

05=3? /2968 - 6-2/5386:33.

  c"ar ;IessageB%J

<=N6? /29686 - 6-2/5386:33 </0?5O32 95629/? <//MR?73? / 453N37? /29686.73>673?1 4/? 7? 3>??2 86-?5Y6QR?/ M6@26 ZZZ.

  int CT*e

34 /M<=O?77/@ 9652F. /8>/O7F? 876N?73K1% VS; IasterCard Iaestro ;merican ExressW Diners Cl'bJ VS; Electron

  c"ar C"eck

53 =<4?Y7/@ 6-2/5386:33 </0?5O32 /M568 9652/N7// N?96, 9/2/5F@ -F8F-6QR6K45/56>>6 0/O76 /2456-32H 76 4?N62H, 6 862?> /<-/M/032H -F8/-/> X=79:33Globalree$&.

/O?2 3>?2H 876N?73? [LL. 2/> <=N6? 739693 0?@<2-3@ < 73> -F8F-6QR6K45/56>>6 -F4/7K2H 7? 0/O76.

  c"ar ;'t"CodeBU

53 =<4?Y7/@ 6-2/5386:33 $4/ >?O0=765/07/@ 9652?& </0?5O32 9/0 6-2/5386:33. 53/4?56:33 4/ 9652? ^M?59652 4/? M=0?2 864/7?7/ <3>-/6>3 pq.

  c"ar AA[B%

<4/H8=?2<K 0K 45?06-2/5386:33 3 86-?5Y?73K 56<N?26. ^/0?5O32 =7396H7F@ %876N7F@ <<F/N7F@ 7/>?5, <-K8F-6QR3@ 45?06-2/5386:3Q 3 86-?5Y?73? 56<N?26. 5345?06-2/5386:33 2/ 4/? K-K?2<K -F/07F> $?/ 864/7K?2 M3M3/2?96ilot_nt.dll&, 6 453 86-?5Y?733 56<N?26 -/07F> $876N?73? 0/O7/ MF2H 864/7?7/-F8F-6QR?@ 45/56>>/@+ /7/ 0/O7/ </-46062H </ 876N?73?>, -/8-56R?77F> 45345?06-2/5386:33&.

  c"ar CardVDBW

53 =<4?Y7/@ 6-2/5386:33 $4/ >?O0=765/07/@ 9652?& </0?5O32 7/>?5 9652F. K>?O0=765/07F 9652 -<? <3>-/F, 95/>? 4?5-F J 3 4/<?073 , M=0=2 86>?7?7F<3>-/6>3 pq.

  int Sber](nCard

^/0?5O32 %, ?<3 /M<=O?776K 96526 -F0676 ^M?5M679/>, 33 Z - 45/23-7/> <=N6?.

  c"ar `as"B%

F

Page 4: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 4/7

53 =<4?Y7/@ 6-2/5386:33 $4/ >?O0=765/07/@ 9652?& </0?5O32 ?Y S`;% /2 7/>?569652F - -30? ;SCVV<25/93 037/@ Z <3>-//-.

int close_day(struct auth_answer *auth_ans);

Zунк'ия испол+&уется для ежедневного &акр*тия смен* по картам и )ормирования

от%етов"

ходн*е параметр*Q

  int TT*e

34 /4?56:331 U 8695F23? 07K 4/ 96526>.

  'nsigned long ;mo'nt

? 3<4/H8=?2<K.

*ходн*е параметр*Q

  c"ar AcodeB%

? 3<4/H8=?2<K.

  c"ar ;IessageB%J

? 3<4/H8=?2<K.

  int CT*e

? 3<4/H8=?2<K.

  c"ar C"eck

^/0?5O32 /M568 /2N?26 4/ 96526>, 9/2/5F@ -F8F-6QR6K 45/56>>6 0/O76 /2456-32H 764?N62H, 6 862?> /<-/M/032H -F8/-/> X=79:33 Globalree$&.

/O?2 3>?2H 876N?73? [LL. 2/> <=N6? 739693 0?@<2-3@ < 73> -F8F-6QR6K45/56>>6 -F4/7K2H 7? 0/O76.

int ReadTrack2(char *Track2);

Zунк'ия по&воляет про%итат+ ?1ю дорожку прои&вол+но( карт*" .ри успе,ном

в*полнении во&вращает @$ при неуда%ном - код о,ибки"

*ходн*е параметр*Q

  c"ar Track

u=X?5, 9=06 X=79:3K 8643<F-6?2 45/N32677=Q Q 0/5/O9=. h68>?5 M=X?56 0/O?7 MF2H

7? >?7?? Z M6@2.

int ReadCard!(char *"ast#$i%its, char *&ash);

Zунк'ия по&воляет про%итат+ банковскую карту для испол+&ования в скидо%но(

системе Спасибо от СбербанкаV" Mарта должна б*т+ в*дана Сбербанком$ в

противном слу%ае )унк'ия вернет о,ибку" .ри успе,ном в*полнении во&вращает @$

при неуда%ном - код о,ибки"

*ходн*е параметр*Q

  c"ar LastDigitsu=X?5, 9=06 X=79:3K 8643<F-6?2 N?2F5? 4/<?073 :3X5F 7/>?56 9652F. h68>?5 M=X?560/O?7 MF2H 7? >?7?? W M6@2.

[

Page 5: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 5/7

  c"ar `as"

u=X?5, 9=06 X=79:3K 8643<F-6?2 ?Y /2 7/>?56 9652F - ;SCVVX/5>62?. h68>?5 M=X?560/O?7 MF2H 7? >?7?? % M6@26.

int Test'inad()

Zунк'ия проверяет нали%ие пинпада" .ри успе,ном в*полнении во&вращает @

4пинпад подклю%енH$ при неуда%ном - код о,ибки 4пинпад не подклю%ен или

неисправенH"

int usendTr ($+R$ dw-ount, char* uthCode)

Zунк'ия переводит последнюю успе,ную тран&ак'ию в подве,енноеV состояние"

сли тран&ак'ия находится в Kтом состоянии$ то при следующем сеансе свя&и с банком

она будет отменена"

ходн*е параметр*Q

  D!]AD d(;mo'nt

^=>>6 /4?56:33 $- 9/4?@96&.

  c"ar ;'t"Code

/0 6-2/5386:33.

Zунк'ия сверяет переданн*е и&вне параметр* 4сумму и код автори&а'ииH со

&на%ениями в последне( успе,но( опера'ии$ которая б*ла проведена %ере&

библиотеку" сли хотя б* один параметр не совпадает$ )унк'ия во&вращает код

о,ибки [C[@ и не в*полняет никаких де(стви("

int Co--itTr($+R$ dw-ount, char* uthCode)

Zунк'ия во&вращает последнюю успе,ную тран&ак'ию в нормал+ноеV состояние"

.осле Kтого тран&ак'ия будет вклю%ена в от%ет и спро'ессирована как успе,ная"

.еревести ее снова в подве,енноеV состояние будет уже нел+&я"

ходн*е параметр*Q

  D!]AD d(;mo'nt

^=>>6 /4?56:33 $- 9/4?@96&.

  c"ar ;'t"Code

/0 6-2/5386:33.

Zунк'ия сверяет переданн*е и&вне параметр* 4сумму и код автори&а'ииH со

&на%ениями в последне( успе,но( опера'ии$ которая б*ла проведена %ере&

библиотеку" сли хотя б* один параметр не совпадает$ )унк'ия во&вращает код

о,ибки [C[@ и не в*полняет никаких де(стви("

int Roll.ackTr($+R$ dw-ount, char* uthCode)

Zунк'ия в*&*вает немедленную отмену последне( успе,но( опера'ии 4во&можно$

 ранее переведенную в подве,енноеV состояние$ хотя Kто и не обя&ател+ноH" сли

тран&ак'ия уже б*ла во&вращена в нормал+ноеV состояние )унк'ие( =:\\8]T7A4H$ то)унк'ия ^:__`aEbT7A4H &авер,ится с кодом о,ибки [C[C$ не в*полняя никаких

де(стви("

>

Page 6: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 6/7

ходн*е параметр*Q

  D!]AD d(;mo'nt

^=>>6 /4?56:33 $- 9/4?@96&.

  c"ar ;'t"Code

/0 6-2/5386:33.

Zунк'ия сверяет переданн*е и&вне параметр* 4сумму и код автори&а'ииH со

&на%ениями в последне( успе,но( опера'ии$ которая б*ла проведена %ере&

библиотеку" сли хотя б* один параметр не совпадает$ )унк'ия во&вращает код

о,ибки [C[@ и не в*полняет никаких де(стви("

int .ortTransaction()

Zунк'ия прер*вает работу )унк'и( Ea7cad]e:78f6g4H" не,нее .О может в*&ват+

Kту )унк'ию и& отдел+ного треда$ %тоб* досро%но прекратит+ в*полнение любо( и&

)унк'и( Ea7cad]e:78f6g4H" .ри Kтом )унк'ия Ea7cad]e:78f6g4H &авер,ится с кодомо,ибки ?@@@ 4опера'ия прерванаH"

4. .орядок в*&ова )унк'и( библиотеки

.ри оплате 4во&вратеH покупки по банковско( карте кассовая программа должна

в*&ват+ и& библиотеки Сбербанка )унк'ию Ea7cad]e:78f64H$ &аполнив поля TThi6 и

j\:d;] и ука&ав нулев*е &на%ения в остал+н*х полях"

.о окон%ании работ* )унк'ии необходимо проанали&ироват+ поле ^=:c6" сли в нем

содержится &на%ение @V или @@V$ автори&а'ия с%итается успе,но в*полненно($ впротивном слу%ае - отклоненно("

Mроме Kтого$ необходимо проверит+ &на%ение поля =e6Eb" сли оно не равно !LL$

его необходимо отправит+ на пе%ат+ 4в не)искал+ном режимеH и &атем удалит+

в*&овом )унк'ии k_:`a_97664H"

слу%ае$ если вне,няя программа не обеспе%ивает гарантированно( пе%ати

карто%ного %ека и& поля =e6Eb$ она может испол+&оват+ следующую логикуQ

CH *полнит+ )унк'ию Ea7cad]e:78f64H"

?H .осле &авер,ения работ* )унк'ии Ea7cad]e:78f64H$ если тран&ак'ия в*полнена

успе,но$ в*&ват+ )унк'ию <dli6;cT7A4H и приступит+ к пе%ати %ека"

FH сли %ек напе%атан успе,но$ в*&ват+ )унк'ию =:\\8]T7A4H"

[H сли во время пе%ати %ека во&никла неустранимая проблема$ в*&ват+ )унк'ию

^:__`aEbT7A4H для отмен* платежа"

сли в ходе пе%ати %ека прои&о(дет &ависание MM3 или сбо( питания$ то тран&ак'ия

останется в подве,енномV состоянии" .ри следующем сеансе свя&и с банком она

автомати%ески отменится"

m

Page 7: Интеграция с Ккм Через Библиотеку Pilot_nt

7/21/2019 Интеграция с Ккм Через Библиотеку Pilot_nt

http://slidepdf.com/reader/full/-pilotnt 7/7

.ри &акр*тии смен* кассовая программа должна в*&ват+ и& библиотеки Сбербанка

)унк'ию E_:l6cah4H$ &аполнив поле TThi6 n G и ука&ав нулев*е &на%ения в остал+н*х

полях"

.о окон%ании работ* )унк'ии необходимо проверит+ &на%ение поля =e6Eb" сли поле

=e6Eb не равно !LL$ его необходимо отправит+ на пе%ат+ 4в не)искал+ном режимеH и

после Kтого удалит+ в*&овом )унк'ии k_:`a97664H"

G