Sie sind auf Seite 1von 9

Gavekort Scan Bar Code

Document Type
Version
Date
Confidentiality
By

Technical Interface Specification


3.5.03
16-12-2013
None
Udvikling

This Document is the property of Point Transaction Systems A/S. It is transferred under the conditions of Active Non-Disclosure.
Use of this document is subject to the terms of this NDA (Non Disclosure Agreement).
This document will be returned under request to Point Transaction Systems A/S.

POINT TRANSACTION SYSTEMS A/S


Knapholm 7, 2730 Herlev, Tlf.: 44 53 16 10 Fax: 44 53 46 20 www.point.dk
Reg.nr. A/S 202086 CVR nr. 15 40 12 81

Content
1 Gavekort Scan Bar Code
1.1 Flex driver (DLL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Callback pcbPutScanBarCode . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Saldo and expire data in callback pcbGetReceipt/pcbGetReceiptVB . . . .
1.1.3 Example binary receipt of prepaid scanned bar code purchase . . . . . . .
1.2 Point Terminal (OCX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 CallBackType.ScanBarCode EventID 24 . . . . . . . . . . . . . . . . . . .
1.2.2 Another way to put the scanned bar code to the OCX . . . . . . . . . . . .
1.2.3 Saldo and expire date in callback EventID 7: Get extra receipt information .
1.2.4 Example Extendedreceipt callback of prepaid scanned bar code purchase .
1.3 Local Payment Protocol (LPP) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 LPP start scanned bar code transaction . . . . . . . . . . . . . . . . . . . .
1.3.2 LPP prepaid scanned bar code to ECR . . . . . . . . . . . . . . . . . . . .
1.3.3 LPP PTAG_RECEIPT now contains PTAG_SALDO and PTAG_EXP_DATE
1.3.4 Example LPP Start of scanned bar code purchase from terminal to ECR .
1.4 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

3
3
3
3
3
5
5
5
5
5
7
7
7
7
7
9

1 | Gavekort Scan Bar Code


1.1

Flex driver (DLL)

To support prepaid scanned bar code in the terminal Points flexdriver (flxdrv.dll) now have a new
callback to put the scanned bar code to the terminal.

1.1.1

Callback pcbPutScanBarCode

The callback must be enabled by calling the:


flxInitCallback ( FLX_CALLBACK . FLX_CALLBACK_PUT_SCAN_BAR_CODE ,
p c b P u t S c a n B a r C o d e De l e g a t e ) ;

The callback is called as a result of performing a flxCardTransaction with the


FLX_TRANSTYPE set to one of:
FLX_TRANS_PREPAID_SCAN_PURCHASE , // Debit prepaid scan transaction
FLX_TRANS_PREPAID_SCAN_REFUND , // Credit prepaid scan transaction
FL X_ TR ANS _PREPAID_SCAN_ORIGINAL_AUTH , // Orig auth prepaid scan transaction ,
no token output

Remember to scan the bar code before starting the transaction.


The terminal must be configured to handle scanned bar code transactions, this is done by a param
download, after Point has set the terminals configuration in Points terminal database.
static int (* pcbPutScanBarCode ) ( int * ScanBarCodeLength , char * ScanBarCodeData ) ;

or the Visual Basic interface


static void ( WINAPI * pcbPutScanBarCodeVB ) ( int * ScanBarCodeLength ,
BSTR * ScanBarCodeData , int * res ) ;

1.1.2

Saldo and expire data in callback pcbGetReceipt/pcbGetReceiptVB

Two fields added to the extra receipt information, with prepaid info
Saldo;ExpireDateYYMM
expire date as digits (first: year (bcd) 00-99, second: month (bcd) 01-12)
The terminal must be configured to convey this information ReceiptType with bit 5 set. This is done
by a param download, after Point has set the terminals configuration in Points terminal database.

1.1.3

Example binary receipt of prepaid scanned bar code purchase

BINARY RECEIPT:

2013-02-15 15:29; 920860EEEEEEEEE0199;5;0;0;0;208;745;2129592318;


103651;0000;0000;8;014AFF;GK
Gavekort
;00990527;1978543;PBS ()
;Ballerup
;testcenter
;2750
;44892299 ;123569 ;123456;208;1.000000;46;270042;
1;(null);100721410;3298;0;0;0;0;0;;0;000000; ;1712;
Receipt:
Time (yyyy-mm-dd hh:mm) : 2013-02-15 15:29
PAN
: 920860EEEEEEEEE0199
total
: 5
extra
: 0
fee
: 0
gratuity
: 0
currency
: 208
Stan
: 745
PSAM_Creator
: 2129592318
PSAM_ID
: 103651
Action Code
: 0000
Asw1Asw2
: 0000
CvmStatus
: 8
Authorization Code
: 014AFF
Cardname
: GK Gavekort
Terminal Ident
: 00990527
PBS Number
: 1978543
Name
: PBS ()
City
: Ballerup
Address
: testcenter
Zip
: 2750
Phone
: 44892299
CVR
: 123569
refNr
: 123456
Dcc Currrency
: 208
Dcc Rate
: 1.000000
Card CRC
: 46
Batch Number
: 270042
Cancallation Allowed
: 1
Vat
: (null)
Ereceipt
: 100721410
Saldo
: 3298
Cashback from ver 3.5.00 : 0
DCC total from ver 3.5.00: 0
DCC fee from ver 3.5.00 : 0
DCC gratuity from ver 3.5.00: 0
CardDataSource
: 0
AID
:
ATC
: 0
AED
: 000000
ARC
:
ExpDate
: 1712

1.2

Point Terminal (OCX)

To support prepaid scanned bar code in the terminal Points OCX PointTerminal.ocx now have a
new callback to put the scanned bar code to the terminal.

1.2.1

CallBackType.ScanBarCode EventID 24

If a CardTransaction is started with


TransactionTypeType set to one of:
ScanPrepaidPurchase = 22,
ScanPrepaidRefund = 23,
ScanPrepaidOriginalAuth = 24
This callback is called 19 times to get the scanned bar code, one ascii digit a time.
Text is set to the index in the scanned bar code, starting with index 1.
Result must be set to the char value of the scanned bar code at this index.
Remember to scan the bar code before starting the transaction.
The terminal must be configured to handle scanned bar code transactions, this is done by a param
download, after Point has set the terminals configuration in Points terminal database.

1.2.2

Another way to put the scanned bar code to the OCX

Calling the SetConfiguration with ConfigurationType.PutScanBarCode and setting param2 to the


scanned bar code, will make the OCX use this value and will not call the callback ScanBarCode.
On the next CardTransaction started with
TransactionTypeType set to one of:
ScanPrepaidPurchase = 22,
ScanPrepaidRefund = 23,
ScanPrepaidOriginalAuth = 24

1.2.3

Saldo and expire date in callback EventID 7: Get extra receipt information

To fields added to the extra receipt information, with prepaid info


Saldo;ExpireDateYYMM
Card expire date as digits (first: year (bcd) 0-99, second: month (bcd) 01-12).
The terminal must be configured to convey this information ReceiptType with bit 5 set. This is done
by a param download, after Point has set the terminals configuration in Points terminal database.

1.2.4

Example Extendedreceipt callback of prepaid scanned bar code purchase

**************************** Callback 7 - ExtendedReceipt ****************


Extra Receipt Information
Time (yyyy-mm-dd hh:mm) : 2013-02-15 15:55
PAN
: 920860EEEEEEEEE0199
5

total
: 6
extra
: 0
fee
: 0
gratuity
: 0
currency
: 208
Stan
: 746
PSAM_Creator
: 2129592318
PSAM_ID
: 103651
Action Code
: 0000
Asw1Asw2
: 0000
CvmStatus
: 8
Authorization Code
: 014B00
Cardname
: GK Gavekort
Terminal Ident
: 00990527
PBS Number
: 1978543
Name
: PBS ()
City
: Ballerup
Address
: testcenter
Zip
: 2750
Phone
: 44892299
CVR
: 123569
refNr
: 123456
Dcc Currrency
: 208
Dcc Rate
: 1.000000
Card CRC
: 46
Batch Number
: 270042
Cancallation Allowed
: 1
Vat
: (null)
Ereceipt
: 128774354
Saldo
: 3292
Cashback from ver 3.5.00 : 0
DCC total from ver 3.5.00: 0
DCC fee from ver 3.5.00 : 0
DCC gratuity from ver 3.5.00: 0
CardDataSource
: 0
AID
:
ATC
: 0
AED
: 000000
ARC
:
ExpDate
: 1712

1.3

Local Payment Protocol (LPP)

To support prepaid scanned bar code in the terminal LPP now have to put the scanned bar code
to the terminal.

1.3.1

LPP start scanned bar code transaction

In the PTAG_TRANSACTION the PTAG_CARD_SOURCE must be set to 0x04


CARD_SCAN, this will tell the terminal to wait for the scanned bar code from the ECR.
PTAG_PREPAID is set based on the transaction started:
Purchase

TR=0x00

PTAG_PREPAID=0x03

Refund

TR=0x01

PTAG_PREPAID=0x02

Original Auth.
TR=0x02
PTAG_PREPAID=0x01
The terminal must be configured to handle scanned bar code transactions, this is done by a param
download, after Point has set the terminals configuration in Points terminal database.

1.3.2

LPP prepaid scanned bar code to ECR

Data is put into a PTAG_DATA container, this must have a PTAG_CARDNUMBER containing the
scanned bar code.

1.3.3

LPP PTAG_RECEIPT now contains PTAG_SALDO and PTAG_EXP_DATE

You can obtain the cards saldo and expire date from the receipt container by looking at PTAG_SALDO
0xC3 it contains a 4 byte unsigned amount and PTAG_EXP_DATE 0xC5 with expire date as 2 byte
(first: year (bcd) 00-99, second: month (bcd) 01-12).

1.3.4

Example LPP Start of scanned bar code purchase from terminal to ECR

TimeStamp: 08:54:37
STX
: 02
SEQ
: 02
TAG
: 65 - PTAG_TRANSACTION Container
TAGlen
: 2e
TAG
: 4e - PTAG_MI
TAGlen
: 01
TAGvalue : 00

TAG
:
TAGlen
:
TAGvalue :

4c - PTAG_CU
DLE 02
00 d0

.D

TAG
:
TAGlen
:
TAGvalue :

56 - PTAG_TT
01
00

ETX
CRC

TAG
:
TAGlen
:
TAGvalue :

50 - PTAG_TR
01
00

TAG
:
TAGlen
:
TAGvalue :

4a - PTAG_REF_NO
04
00 01 e2 40

..@

TAG
:
TAGlen
:
TAGvalue :

48 - PTAG_AMOUNT
04
00 00 00 16

....

TAG
:
TAGlen
:
TAGvalue :

59 - PTAG_GRATUITY
04
00 00 00 00

....

TAG
:
TAGlen
:
TAGvalue :

57 - PTAG_VAT
04
00 00 00 00

....

TAG
:
TAGlen
:
TAGvalue :

94 - PTAG_TERM_ENV
01
00

TAG
:
TAGlen
:
TAGvalue :

92 - PTAG_CARD_SOURCE
01
04

TAG
:
TAGlen
:
TAGvalue :

93 - PTAG_PREPAID
01
DLE 03

..

:
:

TimeStamp:
ACK
:
SEQ
:

03
38c7
08:54:37
06
02

TimeStamp: 08:54:37
STX
: 02
SEQ
: 03
TAG
: 63 - PTAG_DATA Container
TAGlen
: 15
TAG
: 52 - PTAG_CARDNUMBER
TAGlen
: 13
TAGvalue : 36 30 37 35 31 30
TAGvalue : 37 31 31

30

30 30
711

30

30

30

30

31

31

34

6075100000000114

ETX
CRC

1.4

:
:

03
8d6d

Configuration

[SCAN_ENTRY]
"01"
[RECEIPT_TYPE]
"45"
// bit 5 - 32 must be set for
// SALDO / EXP_DATE in tagged receipt
// 13 + 32 = 45 or 141 + 32 = 173

Das könnte Ihnen auch gefallen