close

RS232ESC/POS

串列傳輸&並列傳輸

POS周邊大部分都是串列傳輸(Serial)和並列傳輸(LPT),一般我們會稱呼為RS232RS485主要是早期用來溝通硬設備的語言,至今依舊是溝通硬體的主要方式。在POS中最常串接的發票機、熱感機、磅秤機、條碼掃描器、客戶顯示器都是利用RS232 LPT來達到溝通的動作。主要是透過WINDOW你要設備間互通S提供的API來操作

使用RS232一定要了解RS232

鮑率Baud Rate: 300, 1200, 2400, 9600, 19200, 115200 bit/s

同位檢查(Parity Check: 奇同位(Odd)、偶同位(Even)、不減查同位(None

資料位元(Data Bit) :5678 bit/s

停止位元(Stop Bit: 1 1.5 2 bit/s

特別強調這四點的原因是因為。你要設備間互通。這四組一定要一致才會收的到正確的資訊。

台灣設備一般都是9600,n,8,1 or 9600,E,7,1

ESC/POS

這是種周邊的語言。舉凡發票機熱感機客戶顯示器都是透過這標準的ESC/POS指令來完成動作由EPSON定義。在編寫使用此指令的設備時,不需要使用到最新的技術文章。要找到相符的版本級指令集較好。[文件]

1.1    印紙本發票特別注意事項[WP-T810例外]

  1. 1.       QRCODE部分進PAGMODE模式處理
  2. 2.       PAGEMODE須定義長度及大小
  3. 3.       定義完畢後須先定義QRCODE的列印位置
  4. 4.       再送QRCODE
  5. 5.       如需平行列印兩顆以上QRCODE 必須在離開PAGEMODE之前都先定義好
  6. 6.       離開PAGEMOD->STANDMODE 再繼續列印接續資料。
  7. 1.       一般標準BARCODE只能印17個字元
  8. 2.       若要提高只能縮小BARCODE的列印寬度及長度。相對的會降低掃描能力

1.2    BARCODE注意事項

 

POS的應用

  1. 1.       提供RS232 送收指令的元件[磅秤機整合][發票機整合][熱感機整合][客戶顯示器整合]
  2. 2.       信用卡元件
  3. 3.       電子發票的列印

信用卡UML

1.       利用RS232送命令觸發卡機。

  • 2.       將金額、交易模式讓卡機得知,進行刷卡。

  • 3.       卡機回傳卡號POS判斷[授權碼]&[驗證碼]

 

RS232元件使用

TCommDev– [RS232元件底層屬性]

參數

屬性

說明

FBaudRate          

TBaudRateType

鮑率 Ex. 9600

FDataBits

TDataBitsType

資料位元 Ex. 8

FParityCheck

TparityCheckType

位元檢查 Ex. None

FStopBits

TStopBitsType

停止位元 Ex. _1

FDevicePort

TDevicePort

連接埠 Ex. COM1

FCheckDSR

Boolean

設備告訴電腦已準備好(過電)

FDelay

integer

下一筆指令間延遲時間

發票機、熱感機元件

TinvPrinter. SendString – [直接送字串給周邊]

參數

屬性

說明

SendString        

AnsiString

預列印的字串

回傳

屬性

說明

Result

Boolean

True 指令已送出

False連線失敗

 

TinvPrinter. SendCOMString – [ESC/POS指令給周邊]

參數

屬性

說明

SendString        

AnsiString

預送出的ESC/POS指令

回傳

屬性

說明

Result

Boolean

True 指令已送出

False連線失敗

TinvPrinter. OpenCashDrawer – [錢櫃]

回傳

屬性

說明

Result

Boolean

True 指令已送出

False連線失敗

 

TinvPrinter. PrintBarcode – [barcode]

參數

屬性

說明

xBarcode        

AnsiString

要列印的BARCODE內容

回傳

屬性

說明

Result

Boolean

True 指令已送出

False連線失敗

 

TinvPrinter. PrintQRcode – [QRCODE]

參數

屬性

說明

xBarcode        

AnsiString

要列印的QRCODE內容

回傳

屬性

說明

Result

Boolean

True 指令已送出

False連線失敗

 

TinvPrinter. EndPageMode– [結束PageMode]

Pagemode每一種機型都不相同。故此沒做成祖先

 

 

 

 

 

 

 

信用卡元件

TEDCCom. SendToEDC – []

參數

屬性

說明

TransType       

AnsiString

交易型態 [參考規格文件]

Payment

AnsiString

交易金額

StoreNo

AnsiString

店號

PosNo

AnsiString

機號

TrnNo

AnsiString

交易序號

回傳

屬性

說明

Result

Boolean

True 指令已送出

False連線失敗

 

TEDCCom. SendToEDC2 – [Call廠商提供的EXE]

參數

屬性

說明

TransType       

AnsiString

交易型態 [參考規格文件]

Payment

AnsiString

交易金額

StoreNo

AnsiString

店號

PosNo

AnsiString

機號

TrnNo

AnsiString

交易序號

回傳

屬性

說明

Result

Boolean

True INI已寫入

False連線失敗

 

 

 

 

 

 

 

 

信用卡通訊過程

Time out60 seconds or more before sending response block.

ECR

Route

AS320 EDC

REQUEST message

è

 

 

ç

<ACK> <ACK>

(ECR is waiting for response…)

|

(EDC is in processing…)

 

ç

RESPONSE message

<ACK><ACK>

è

(DONE)

 

REQUEST Data  144 bytes 固定長度

欄位名稱

長度

位置

備註

1            

Trans Type

2

1

交易別

2        

Host ID

2

3

銀行別

3        

Receipt No

6

5

調閱編號

4        

Card Number

19

11

信用卡卡號(左靠右補空白)

5        

Expiration Date

4

30

信用卡有效期(****取代)

6        

Trans Amount

12

34

交易金額

7        

Trans Date

6

46

交易日期

8        

Trans Time

6

52

交易時間

9        

Approval Code

9

58

授權碼(左靠右補空白)

10     

ECR Response Code

4

67

通訊回應碼

11     

Terminal ID

8

71

端末機代號

12     

Reference No

12

79

銀行交易序號

13     

Store ID

16

91

櫃號(左靠右補空白)

14     

Amount1

12

107

金額1

15     

Amount2

12

119

金額2

16     

Amount3

12

131

金額3

17     

Installment Period

2

143

期數

 

 

arrow
arrow
    全站熱搜

    kuraki5336 發表在 痞客邦 留言(4) 人氣()