├── .gitignore ├── README.md ├── myPOS-SDK-Demo └── myPOSDemoApp │ ├── App.config │ ├── Form1.Designer.cs │ ├── Form1.cs │ ├── Form1.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── ReceiptReceiverForm.Designer.cs │ ├── ReceiptReceiverForm.cs │ ├── ReceiptReceiverForm.resx │ ├── myPOSDemoApp.csproj │ ├── myPOSDemoApp.sln │ └── myPOSTerminal.dll └── myPOS-SDK └── myPOSTerminal.dll /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | ## 4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore 5 | 6 | # User-specific files 7 | *.suo 8 | *.user 9 | *.userosscache 10 | *.sln.docstates 11 | 12 | # User-specific files (MonoDevelop/Xamarin Studio) 13 | *.userprefs 14 | 15 | # Build results 16 | [Dd]ebug/ 17 | [Dd]ebugPublic/ 18 | [Rr]elease/ 19 | [Rr]eleases/ 20 | x64/ 21 | x86/ 22 | bld/ 23 | [Bb]in/ 24 | [Oo]bj/ 25 | [Ll]og/ 26 | 27 | # Visual Studio 2015 cache/options directory 28 | .vs/ 29 | # Uncomment if you have tasks that create the project's static files in wwwroot 30 | #wwwroot/ 31 | 32 | # MSTest test Results 33 | [Tt]est[Rr]esult*/ 34 | [Bb]uild[Ll]og.* 35 | 36 | # NUNIT 37 | *.VisualState.xml 38 | TestResult.xml 39 | 40 | # Build Results of an ATL Project 41 | [Dd]ebugPS/ 42 | [Rr]eleasePS/ 43 | dlldata.c 44 | 45 | # Benchmark Results 46 | BenchmarkDotNet.Artifacts/ 47 | 48 | # .NET Core 49 | project.lock.json 50 | project.fragment.lock.json 51 | artifacts/ 52 | **/Properties/launchSettings.json 53 | 54 | *_i.c 55 | *_p.c 56 | *_i.h 57 | *.ilk 58 | *.meta 59 | *.obj 60 | *.pch 61 | *.pdb 62 | *.pgc 63 | *.pgd 64 | *.rsp 65 | *.sbr 66 | *.tlb 67 | *.tli 68 | *.tlh 69 | *.tmp 70 | *.tmp_proj 71 | *.log 72 | *.vspscc 73 | *.vssscc 74 | .builds 75 | *.pidb 76 | *.svclog 77 | *.scc 78 | 79 | # Chutzpah Test files 80 | _Chutzpah* 81 | 82 | # Visual C++ cache files 83 | ipch/ 84 | *.aps 85 | *.ncb 86 | *.opendb 87 | *.opensdf 88 | *.sdf 89 | *.cachefile 90 | *.VC.db 91 | *.VC.VC.opendb 92 | 93 | # Visual Studio profiler 94 | *.psess 95 | *.vsp 96 | *.vspx 97 | *.sap 98 | 99 | # TFS 2012 Local Workspace 100 | $tf/ 101 | 102 | # Guidance Automation Toolkit 103 | *.gpState 104 | 105 | # ReSharper is a .NET coding add-in 106 | _ReSharper*/ 107 | *.[Rr]e[Ss]harper 108 | *.DotSettings.user 109 | 110 | # JustCode is a .NET coding add-in 111 | .JustCode 112 | 113 | # TeamCity is a build add-in 114 | _TeamCity* 115 | 116 | # DotCover is a Code Coverage Tool 117 | *.dotCover 118 | 119 | # AxoCover is a Code Coverage Tool 120 | .axoCover/* 121 | !.axoCover/settings.json 122 | 123 | # Visual Studio code coverage results 124 | *.coverage 125 | *.coveragexml 126 | 127 | # NCrunch 128 | _NCrunch_* 129 | .*crunch*.local.xml 130 | nCrunchTemp_* 131 | 132 | # MightyMoose 133 | *.mm.* 134 | AutoTest.Net/ 135 | 136 | # Web workbench (sass) 137 | .sass-cache/ 138 | 139 | # Installshield output folder 140 | [Ee]xpress/ 141 | 142 | # DocProject is a documentation generator add-in 143 | DocProject/buildhelp/ 144 | DocProject/Help/*.HxT 145 | DocProject/Help/*.HxC 146 | DocProject/Help/*.hhc 147 | DocProject/Help/*.hhk 148 | DocProject/Help/*.hhp 149 | DocProject/Help/Html2 150 | DocProject/Help/html 151 | 152 | # Click-Once directory 153 | publish/ 154 | 155 | # Publish Web Output 156 | *.[Pp]ublish.xml 157 | *.azurePubxml 158 | # Note: Comment the next line if you want to checkin your web deploy settings, 159 | # but database connection strings (with potential passwords) will be unencrypted 160 | *.pubxml 161 | *.publishproj 162 | 163 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 164 | # checkin your Azure Web App publish settings, but sensitive information contained 165 | # in these scripts will be unencrypted 166 | PublishScripts/ 167 | 168 | # NuGet Packages 169 | *.nupkg 170 | # The packages folder can be ignored because of Package Restore 171 | **/packages/* 172 | # except build/, which is used as an MSBuild target. 173 | !**/packages/build/ 174 | # Uncomment if necessary however generally it will be regenerated when needed 175 | #!**/packages/repositories.config 176 | # NuGet v3's project.json files produces more ignorable files 177 | *.nuget.props 178 | *.nuget.targets 179 | 180 | # Microsoft Azure Build Output 181 | csx/ 182 | *.build.csdef 183 | 184 | # Microsoft Azure Emulator 185 | ecf/ 186 | rcf/ 187 | 188 | # Windows Store app package directories and files 189 | AppPackages/ 190 | BundleArtifacts/ 191 | Package.StoreAssociation.xml 192 | _pkginfo.txt 193 | *.appx 194 | 195 | # Visual Studio cache files 196 | # files ending in .cache can be ignored 197 | *.[Cc]ache 198 | # but keep track of directories ending in .cache 199 | !*.[Cc]ache/ 200 | 201 | # Others 202 | ClientBin/ 203 | ~$* 204 | *~ 205 | *.dbmdl 206 | *.dbproj.schemaview 207 | *.jfm 208 | *.pfx 209 | *.publishsettings 210 | orleans.codegen.cs 211 | 212 | # Since there are multiple workflows, uncomment next line to ignore bower_components 213 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 214 | #bower_components/ 215 | 216 | # RIA/Silverlight projects 217 | Generated_Code/ 218 | 219 | # Backup & report files from converting an old project file 220 | # to a newer Visual Studio version. Backup files are not needed, 221 | # because we have git ;-) 222 | _UpgradeReport_Files/ 223 | Backup*/ 224 | UpgradeLog*.XML 225 | UpgradeLog*.htm 226 | 227 | # SQL Server files 228 | *.mdf 229 | *.ldf 230 | *.ndf 231 | 232 | # Business Intelligence projects 233 | *.rdl.data 234 | *.bim.layout 235 | *.bim_*.settings 236 | 237 | # Microsoft Fakes 238 | FakesAssemblies/ 239 | 240 | # GhostDoc plugin setting file 241 | *.GhostDoc.xml 242 | 243 | # Node.js Tools for Visual Studio 244 | .ntvs_analysis.dat 245 | node_modules/ 246 | 247 | # Typescript v1 declaration files 248 | typings/ 249 | 250 | # Visual Studio 6 build log 251 | *.plg 252 | 253 | # Visual Studio 6 workspace options file 254 | *.opt 255 | 256 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.) 257 | *.vbw 258 | 259 | # Visual Studio LightSwitch build output 260 | **/*.HTMLClient/GeneratedArtifacts 261 | **/*.DesktopClient/GeneratedArtifacts 262 | **/*.DesktopClient/ModelManifest.xml 263 | **/*.Server/GeneratedArtifacts 264 | **/*.Server/ModelManifest.xml 265 | _Pvt_Extensions 266 | 267 | # Paket dependency manager 268 | .paket/paket.exe 269 | paket-files/ 270 | 271 | # FAKE - F# Make 272 | .fake/ 273 | 274 | # JetBrains Rider 275 | .idea/ 276 | *.sln.iml 277 | 278 | # CodeRush 279 | .cr/ 280 | 281 | # Python Tools for Visual Studio (PTVS) 282 | __pycache__/ 283 | *.pyc 284 | 285 | # Cake - Uncomment if you are using it 286 | # tools/** 287 | # !tools/packages.config 288 | 289 | # Tabs Studio 290 | *.tss 291 | 292 | # Telerik's JustMock configuration file 293 | *.jmconfig 294 | 295 | # BizTalk build output 296 | *.btp.cs 297 | *.btm.cs 298 | *.odx.cs 299 | *.xsd.cs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # myPOS-SDK-dotNET 2 | 3 | This repository provides .Net C# SDK, which enables to integrate your Application with myPOS Card terminals, processed by its platform, to accept card payments (including but not limited to VISA, Mastercard, UnionPay International, JCB, Bancontact). myPOS SDK .Net communicates transparently to the card terminal(s) via USB cable. To process checkout SDK provides management of the terminal to complete all the steps for transaction processing, return or refund, and communicates to the application transaction status, card masked PAN. 4 | 5 | No sensitive card data is ever passed through to or stored on the merchant's application. All data is encrypted by the card terminal, which has been fully certified to the highest industry standards (PCI, EMV I & II, Visa, MasterCard & Amex). 6 | 7 | ### Prerequisites 8 | 9 | 1. Merchant account on [www.myPOS.eu](https://www.mypos.eu/) (or received a test account). 10 | 2. Received myPOS terminal 11 | 3. Requested Access [Developers myPOS](http://developers.mypos.eu) site. 12 | 4. .Net Framework version 4.5.2 13 | 14 | ### Table of Contents 15 | 16 | * [Integration](#integration) 17 | 18 | * [Dependency](#dependency) 19 | 20 | * [Initialization](#initialization) 21 | 22 | * [Connect to terminal](#connect-to-terminal) 23 | 24 | * [Make transactions](#make-transactions) 25 | 26 | * [Handle response result](#handle-response-result) 27 | 28 | * [Make a payment](#make-a-payment) 29 | 30 | * [Make a refund](#make-a-refund) 31 | 32 | * [Reprint last receipt](#reprint-last-receipt) 33 | 34 | * [Custom receipt print](#custom-receipt-print) 35 | 36 | * [Terminal mangement](#terminal-management) 37 | 38 | * [Activate terminal](#activate-terminal) 39 | 40 | * [Update terminal software](#update-terminal-software) 41 | 42 | * [Deactivate terminal](#deactivate-terminal) 43 | 44 | 45 | # Integration 46 | 47 | As example of integration, please use the sample app provided in this repository as a reference. 48 | 49 | ## Dependency 50 | 51 | In order to use myPOS Terminal .Net SDK, you need to have installed .Net Framework version 4.5.2 or above. 52 | 53 | 1. In Solution Explorer in Visual Studio, select the project. 54 | 2. On the Project menu, click Add Reference. The Add Reference dialog box opens. 55 | 3. Browse to the downloaded ‘myPOSTerminal.dll’ and click the Select button. 56 | 4. After confirming with OK, the selected reference ‘myPOS Terminal’ will appear under the References node of the project 57 | 58 | ## Initialization 59 | 60 | In order to use myPOS Terminal .Net SDK methods, you need to create an object of myPOSTerminal class: 61 | 62 | ```C# 63 | using myPOS; 64 | myPOSTerminal terminal = new myPOSTerminal(); 65 | ``` 66 | 67 | You can set terminal language and receipt configuration mode here. If those are not set anywhere in the application, the POS device will use its default settings: 68 | 69 | ```C# 70 | terminal.SetReceiptMode((ReceiptMode)cmbReceiptMode.SelectedItem); 71 | terminal.SetLanguage(Language.English); 72 | ``` 73 | 74 | ## Connect to terminal 75 | 76 | Each time the POS device is plugged, you have to specify the COM Port is uses and initiate a new connection: 77 | 78 | ```C# 79 | terminal.Initialize((string)"COM3"); // This COM number is used as an example 80 | ``` 81 | 82 | # Make transactions 83 | 84 | ## Handle response result 85 | 86 | There is an event that is raised when a response is received from the POS device on a particular request. You should subscribe to the event to get the response result and any response data that is received. 87 | 88 | 1. Define an event handler method 89 | 90 | ```C# 91 | protected void ProcessResult(ProcessingResult r) 92 | { 93 | // handle the response here 94 | if (r.TranData != null) 95 | { 96 | // transaction response 97 | } 98 | } 99 | 100 | ``` 101 | 102 | 2. Attach your event handler to the event: 103 | 104 | ```C# 105 | public Form1() 106 | { 107 | InitializeComponent(); 108 | 109 | terminal.ProcessingFinished += ProcessResult; 110 | } 111 | 112 | ``` 113 | 114 | ## Make a payment 115 | 116 | Once initialization and connection to terminal is completed, you can start using the myPOS Terminal .Net SDK to accept card payments. 117 | 118 | ```C# 119 | RequestResult r = terminal.Purchase(Amount, cur, txtReference.Text); 120 | ``` 121 | 122 | Transaction reference is optional parameter and can be empty or NULL. 123 | 124 | ## Make a Refund 125 | 126 | You can initiate refund transaction to the customer’s card account with the specified amount. 127 | 128 | ```C# 129 | RequestResult r = terminal.Refund(Amount, cur, txtReference.Text); 130 | ``` 131 | Transaction reference is optional parameter and can be empty or NULL. 132 | 133 | ## Reprint last receipt 134 | 135 | With this method the host application could request reprint of the last transaction slip. 136 | 137 | ```C# 138 | RequestResult r = terminal.ReprintReceipt(); 139 | ``` 140 | 141 | ## Custom receipt print 142 | 143 | You can print receipt with your custom data using the following delimiters: 144 | 145 | \\ - symbol \ 146 | \n – new line 147 | \L – prints logo 148 | \l – left alignment 149 | \c - center alignment 150 | \r - right alignment 151 | \W – double width 152 | \w – normal width 153 | \H – double height 154 | \h – normal height 155 | 156 | ```C# 157 | terminal.PrintExternal(txtPrintData.Text); 158 | ``` 159 | 160 | # Terminal management 161 | 162 | ## Activate 163 | 164 | Before using terminal for a first time, the myPOS Terminal SDK has to initiate Terminal activation, which will setup terminal for processing transaction, setting up Terminal ID, Merchant ID etc. 165 | 166 | ```C# 167 | RequestResult r = terminal.Activate(); 168 | ``` 169 | 170 | ## Update terminal software 171 | 172 | Each time terminal processing transactEach time terminal is processing transaction, the processor host checks for existing pending updates and inform terminal if any. With this method, the update procedure is started and the terminal is going in the update mode. 173 | 174 | ```C# 175 | RequestResult r = terminal.Update(); 176 | ``` 177 | 178 | ## Deactivate terminal 179 | 180 | ```C# 181 | RequestResult r = terminal.Deactivate(); 182 | ``` 183 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Form1.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace myPOSDemoApp 2 | { 3 | partial class Form1 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); 32 | this.cmbComPorts = new System.Windows.Forms.ComboBox(); 33 | this.btnRefresh = new System.Windows.Forms.Button(); 34 | this.btnConnect = new System.Windows.Forms.Button(); 35 | this.txtLog = new System.Windows.Forms.TextBox(); 36 | this.btnAbort = new System.Windows.Forms.Button(); 37 | this.btnGetStatus = new System.Windows.Forms.Button(); 38 | this.btnUpdate = new System.Windows.Forms.Button(); 39 | this.label1 = new System.Windows.Forms.Label(); 40 | this.label2 = new System.Windows.Forms.Label(); 41 | this.label3 = new System.Windows.Forms.Label(); 42 | this.txtAmount = new System.Windows.Forms.TextBox(); 43 | this.cmbCurrency = new System.Windows.Forms.ComboBox(); 44 | this.btnRefund = new System.Windows.Forms.Button(); 45 | this.btnReversal = new System.Windows.Forms.Button(); 46 | this.btnActivate = new System.Windows.Forms.Button(); 47 | this.btnDeactivate = new System.Windows.Forms.Button(); 48 | this.btnReprint = new System.Windows.Forms.Button(); 49 | this.label4 = new System.Windows.Forms.Label(); 50 | this.cmbReceiptMode = new System.Windows.Forms.ComboBox(); 51 | this.txtPrintData = new System.Windows.Forms.TextBox(); 52 | this.btnPrintExternal = new System.Windows.Forms.Button(); 53 | this.btnPreauth = new System.Windows.Forms.Button(); 54 | this.txtPreauthCode = new System.Windows.Forms.TextBox(); 55 | this.label6 = new System.Windows.Forms.Label(); 56 | this.btnPreauthComplete = new System.Windows.Forms.Button(); 57 | this.btnPreauthCancel = new System.Windows.Forms.Button(); 58 | this.label7 = new System.Windows.Forms.Label(); 59 | this.label8 = new System.Windows.Forms.Label(); 60 | this.txtPan = new System.Windows.Forms.TextBox(); 61 | this.txtExpiryDate = new System.Windows.Forms.TextBox(); 62 | this.btnMotoPurchase = new System.Windows.Forms.Button(); 63 | this.btnMotoRefund = new System.Windows.Forms.Button(); 64 | this.btnMotoPreauth = new System.Windows.Forms.Button(); 65 | this.btnPing = new System.Windows.Forms.Button(); 66 | this.btnReboot = new System.Windows.Forms.Button(); 67 | this.btnGiftActivation = new System.Windows.Forms.Button(); 68 | this.btnGiftDeactivation = new System.Windows.Forms.Button(); 69 | this.btnCheckBalance = new System.Windows.Forms.Button(); 70 | this.label9 = new System.Windows.Forms.Label(); 71 | this.txtTipAmount = new System.Windows.Forms.TextBox(); 72 | this.cmbReferenceType = new System.Windows.Forms.ComboBox(); 73 | this.label10 = new System.Windows.Forms.Label(); 74 | this.label11 = new System.Windows.Forms.Label(); 75 | this.txtReferenceNumber = new System.Windows.Forms.TextBox(); 76 | this.btnPurchase = new System.Windows.Forms.Button(); 77 | this.label12 = new System.Windows.Forms.Label(); 78 | this.txtOperatorCode = new System.Windows.Forms.TextBox(); 79 | this.label13 = new System.Windows.Forms.Label(); 80 | this.txtPassword = new System.Windows.Forms.TextBox(); 81 | this.label14 = new System.Windows.Forms.Label(); 82 | this.txtGSM = new System.Windows.Forms.TextBox(); 83 | this.label15 = new System.Windows.Forms.Label(); 84 | this.txtEMail = new System.Windows.Forms.TextBox(); 85 | this.label16 = new System.Windows.Forms.Label(); 86 | this.txtRecipient = new System.Windows.Forms.TextBox(); 87 | this.label17 = new System.Windows.Forms.Label(); 88 | this.txtDays = new System.Windows.Forms.TextBox(); 89 | this.btnPaymentRequest = new System.Windows.Forms.Button(); 90 | this.label18 = new System.Windows.Forms.Label(); 91 | this.txtReason = new System.Windows.Forms.TextBox(); 92 | this.cmbLanguage = new System.Windows.Forms.ComboBox(); 93 | this.btnCheckCard = new System.Windows.Forms.Button(); 94 | this.btnOriginalCredit = new System.Windows.Forms.Button(); 95 | this.btnSendLog = new System.Windows.Forms.Button(); 96 | this.btnVendingPurchase = new System.Windows.Forms.Button(); 97 | this.btnVendingStop = new System.Windows.Forms.Button(); 98 | this.btnClearLog = new System.Windows.Forms.Button(); 99 | this.chkWriteLog = new System.Windows.Forms.CheckBox(); 100 | this.btnBeep = new System.Windows.Forms.Button(); 101 | this.label19 = new System.Windows.Forms.Label(); 102 | this.label20 = new System.Windows.Forms.Label(); 103 | this.cmbBeepTone = new System.Windows.Forms.ComboBox(); 104 | this.txtBeepDuration = new System.Windows.Forms.TextBox(); 105 | this.btnVendingComplete = new System.Windows.Forms.Button(); 106 | this.btnVendingCancel = new System.Windows.Forms.Button(); 107 | this.btnOpenSettings = new System.Windows.Forms.Button(); 108 | this.fixedPinpadCb = new System.Windows.Forms.CheckBox(); 109 | this.btnCheckForCRR = new System.Windows.Forms.Button(); 110 | this.btnStopWaitingCard = new System.Windows.Forms.Button(); 111 | this.btnCashAdvance = new System.Windows.Forms.Button(); 112 | this.btnPrintExternalUTF8 = new System.Windows.Forms.Button(); 113 | this.chkVendingShowAmount = new System.Windows.Forms.CheckBox(); 114 | this.btnDisconnect = new System.Windows.Forms.Button(); 115 | this.btnVendingAutoCycle = new System.Windows.Forms.Button(); 116 | this.chbVendingAutoCycleCompleteTransactions = new System.Windows.Forms.CheckBox(); 117 | this.label21 = new System.Windows.Forms.Label(); 118 | this.txtDispalyTextRow1 = new System.Windows.Forms.TextBox(); 119 | this.txtDispalyTextRow2 = new System.Windows.Forms.TextBox(); 120 | this.txtDispalyTextRow3 = new System.Windows.Forms.TextBox(); 121 | this.txtDispalyTextRow4 = new System.Windows.Forms.TextBox(); 122 | this.txtDispalyTextRow5 = new System.Windows.Forms.TextBox(); 123 | this.label22 = new System.Windows.Forms.Label(); 124 | this.label23 = new System.Windows.Forms.Label(); 125 | this.label24 = new System.Windows.Forms.Label(); 126 | this.label25 = new System.Windows.Forms.Label(); 127 | this.label26 = new System.Windows.Forms.Label(); 128 | this.cmbDispalyTextRow1Align = new System.Windows.Forms.ComboBox(); 129 | this.cmbDispalyTextRow2Align = new System.Windows.Forms.ComboBox(); 130 | this.cmbDispalyTextRow3Align = new System.Windows.Forms.ComboBox(); 131 | this.cmbDispalyTextRow4Align = new System.Windows.Forms.ComboBox(); 132 | this.cmbDispalyTextRow5Align = new System.Windows.Forms.ComboBox(); 133 | this.label27 = new System.Windows.Forms.Label(); 134 | this.txtDispalyTextTimeout = new System.Windows.Forms.TextBox(); 135 | this.btnDisplayText = new System.Windows.Forms.Button(); 136 | this.btnIsWaitingForCard = new System.Windows.Forms.Button(); 137 | this.btnHideText = new System.Windows.Forms.Button(); 138 | this.btnPurchaseAutoCycle = new System.Windows.Forms.Button(); 139 | this.btnTwintPurchase = new System.Windows.Forms.Button(); 140 | this.label5 = new System.Windows.Forms.Label(); 141 | this.txtTermIPHostname = new System.Windows.Forms.TextBox(); 142 | this.label28 = new System.Windows.Forms.Label(); 143 | this.txtTermTCPPort = new System.Windows.Forms.TextBox(); 144 | this.btnTerm_IP_TCP_Connect = new System.Windows.Forms.Button(); 145 | this.btnDisplayButtons = new System.Windows.Forms.Button(); 146 | this.label29 = new System.Windows.Forms.Label(); 147 | this.txtButtonText1 = new System.Windows.Forms.TextBox(); 148 | this.label30 = new System.Windows.Forms.Label(); 149 | this.txtButtonText2 = new System.Windows.Forms.TextBox(); 150 | this.label31 = new System.Windows.Forms.Label(); 151 | this.txtButtonText3 = new System.Windows.Forms.TextBox(); 152 | this.label32 = new System.Windows.Forms.Label(); 153 | this.txtButtonText4 = new System.Windows.Forms.TextBox(); 154 | this.label33 = new System.Windows.Forms.Label(); 155 | this.txtButtonText5 = new System.Windows.Forms.TextBox(); 156 | this.SuspendLayout(); 157 | // 158 | // cmbComPorts 159 | // 160 | this.cmbComPorts.FormattingEnabled = true; 161 | this.cmbComPorts.Location = new System.Drawing.Point(74, 10); 162 | this.cmbComPorts.Name = "cmbComPorts"; 163 | this.cmbComPorts.Size = new System.Drawing.Size(176, 21); 164 | this.cmbComPorts.TabIndex = 0; 165 | // 166 | // btnRefresh 167 | // 168 | this.btnRefresh.Location = new System.Drawing.Point(256, 8); 169 | this.btnRefresh.Name = "btnRefresh"; 170 | this.btnRefresh.Size = new System.Drawing.Size(75, 23); 171 | this.btnRefresh.TabIndex = 1; 172 | this.btnRefresh.Text = "Refresh"; 173 | this.btnRefresh.UseVisualStyleBackColor = true; 174 | this.btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click); 175 | // 176 | // btnConnect 177 | // 178 | this.btnConnect.Location = new System.Drawing.Point(337, 8); 179 | this.btnConnect.Name = "btnConnect"; 180 | this.btnConnect.Size = new System.Drawing.Size(75, 23); 181 | this.btnConnect.TabIndex = 2; 182 | this.btnConnect.Text = "Connect"; 183 | this.btnConnect.UseVisualStyleBackColor = true; 184 | this.btnConnect.Click += new System.EventHandler(this.btnConnect_Click); 185 | // 186 | // txtLog 187 | // 188 | this.txtLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 189 | | System.Windows.Forms.AnchorStyles.Left) 190 | | System.Windows.Forms.AnchorStyles.Right))); 191 | this.txtLog.BackColor = System.Drawing.SystemColors.Window; 192 | this.txtLog.Location = new System.Drawing.Point(12, 424); 193 | this.txtLog.Multiline = true; 194 | this.txtLog.Name = "txtLog"; 195 | this.txtLog.ReadOnly = true; 196 | this.txtLog.ScrollBars = System.Windows.Forms.ScrollBars.Both; 197 | this.txtLog.Size = new System.Drawing.Size(1751, 555); 198 | this.txtLog.TabIndex = 4; 199 | // 200 | // btnAbort 201 | // 202 | this.btnAbort.Location = new System.Drawing.Point(24, 395); 203 | this.btnAbort.Name = "btnAbort"; 204 | this.btnAbort.Size = new System.Drawing.Size(75, 23); 205 | this.btnAbort.TabIndex = 6; 206 | this.btnAbort.Text = "Abort"; 207 | this.btnAbort.UseVisualStyleBackColor = true; 208 | this.btnAbort.Click += new System.EventHandler(this.btnAbort_Click); 209 | // 210 | // btnGetStatus 211 | // 212 | this.btnGetStatus.Location = new System.Drawing.Point(24, 56); 213 | this.btnGetStatus.Name = "btnGetStatus"; 214 | this.btnGetStatus.Size = new System.Drawing.Size(75, 23); 215 | this.btnGetStatus.TabIndex = 8; 216 | this.btnGetStatus.Text = "Get Status"; 217 | this.btnGetStatus.UseVisualStyleBackColor = true; 218 | this.btnGetStatus.Click += new System.EventHandler(this.btnGetStatus_Click); 219 | // 220 | // btnUpdate 221 | // 222 | this.btnUpdate.Location = new System.Drawing.Point(114, 56); 223 | this.btnUpdate.Name = "btnUpdate"; 224 | this.btnUpdate.Size = new System.Drawing.Size(75, 23); 225 | this.btnUpdate.TabIndex = 9; 226 | this.btnUpdate.Text = "Update"; 227 | this.btnUpdate.UseVisualStyleBackColor = true; 228 | this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click); 229 | // 230 | // label1 231 | // 232 | this.label1.AutoSize = true; 233 | this.label1.Location = new System.Drawing.Point(13, 13); 234 | this.label1.Name = "label1"; 235 | this.label1.Size = new System.Drawing.Size(55, 13); 236 | this.label1.TabIndex = 10; 237 | this.label1.Text = "COM port:"; 238 | // 239 | // label2 240 | // 241 | this.label2.AutoSize = true; 242 | this.label2.Location = new System.Drawing.Point(21, 136); 243 | this.label2.Name = "label2"; 244 | this.label2.Size = new System.Drawing.Size(43, 13); 245 | this.label2.TabIndex = 11; 246 | this.label2.Text = "Amount"; 247 | // 248 | // label3 249 | // 250 | this.label3.AutoSize = true; 251 | this.label3.Location = new System.Drawing.Point(21, 188); 252 | this.label3.Name = "label3"; 253 | this.label3.Size = new System.Drawing.Size(49, 13); 254 | this.label3.TabIndex = 12; 255 | this.label3.Text = "Currency"; 256 | // 257 | // txtAmount 258 | // 259 | this.txtAmount.Location = new System.Drawing.Point(114, 133); 260 | this.txtAmount.Name = "txtAmount"; 261 | this.txtAmount.Size = new System.Drawing.Size(164, 20); 262 | this.txtAmount.TabIndex = 13; 263 | // 264 | // cmbCurrency 265 | // 266 | this.cmbCurrency.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 267 | this.cmbCurrency.FormattingEnabled = true; 268 | this.cmbCurrency.Location = new System.Drawing.Point(114, 185); 269 | this.cmbCurrency.Name = "cmbCurrency"; 270 | this.cmbCurrency.Size = new System.Drawing.Size(164, 21); 271 | this.cmbCurrency.TabIndex = 14; 272 | // 273 | // btnRefund 274 | // 275 | this.btnRefund.Location = new System.Drawing.Point(152, 296); 276 | this.btnRefund.Name = "btnRefund"; 277 | this.btnRefund.Size = new System.Drawing.Size(120, 23); 278 | this.btnRefund.TabIndex = 15; 279 | this.btnRefund.Text = "Refund"; 280 | this.btnRefund.UseVisualStyleBackColor = true; 281 | this.btnRefund.Click += new System.EventHandler(this.btnRefund_Click); 282 | // 283 | // btnReversal 284 | // 285 | this.btnReversal.Location = new System.Drawing.Point(278, 296); 286 | this.btnReversal.Name = "btnReversal"; 287 | this.btnReversal.Size = new System.Drawing.Size(133, 23); 288 | this.btnReversal.TabIndex = 16; 289 | this.btnReversal.Text = "Reversal"; 290 | this.btnReversal.UseVisualStyleBackColor = true; 291 | this.btnReversal.Click += new System.EventHandler(this.btnReversal_Click); 292 | // 293 | // btnActivate 294 | // 295 | this.btnActivate.Location = new System.Drawing.Point(203, 56); 296 | this.btnActivate.Name = "btnActivate"; 297 | this.btnActivate.Size = new System.Drawing.Size(75, 23); 298 | this.btnActivate.TabIndex = 17; 299 | this.btnActivate.Text = "Activate"; 300 | this.btnActivate.UseVisualStyleBackColor = true; 301 | this.btnActivate.Click += new System.EventHandler(this.btnActivate_Click); 302 | // 303 | // btnDeactivate 304 | // 305 | this.btnDeactivate.Location = new System.Drawing.Point(294, 56); 306 | this.btnDeactivate.Name = "btnDeactivate"; 307 | this.btnDeactivate.Size = new System.Drawing.Size(75, 23); 308 | this.btnDeactivate.TabIndex = 17; 309 | this.btnDeactivate.Text = "Deactivate"; 310 | this.btnDeactivate.UseVisualStyleBackColor = true; 311 | this.btnDeactivate.Click += new System.EventHandler(this.btnDeactivate_Click); 312 | // 313 | // btnReprint 314 | // 315 | this.btnReprint.Location = new System.Drawing.Point(227, 395); 316 | this.btnReprint.Name = "btnReprint"; 317 | this.btnReprint.Size = new System.Drawing.Size(117, 23); 318 | this.btnReprint.TabIndex = 18; 319 | this.btnReprint.Text = "Reprint receipt"; 320 | this.btnReprint.UseVisualStyleBackColor = true; 321 | this.btnReprint.Click += new System.EventHandler(this.btnReprint_Click); 322 | // 323 | // label4 324 | // 325 | this.label4.AutoSize = true; 326 | this.label4.Location = new System.Drawing.Point(21, 109); 327 | this.label4.Name = "label4"; 328 | this.label4.Size = new System.Drawing.Size(73, 13); 329 | this.label4.TabIndex = 19; 330 | this.label4.Text = "Receipt mode"; 331 | // 332 | // cmbReceiptMode 333 | // 334 | this.cmbReceiptMode.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 335 | this.cmbReceiptMode.FormattingEnabled = true; 336 | this.cmbReceiptMode.Location = new System.Drawing.Point(114, 106); 337 | this.cmbReceiptMode.Name = "cmbReceiptMode"; 338 | this.cmbReceiptMode.Size = new System.Drawing.Size(164, 21); 339 | this.cmbReceiptMode.TabIndex = 14; 340 | this.cmbReceiptMode.SelectedIndexChanged += new System.EventHandler(this.cmbCurrency_SelectedIndexChanged); 341 | // 342 | // txtPrintData 343 | // 344 | this.txtPrintData.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 345 | this.txtPrintData.Location = new System.Drawing.Point(1514, 13); 346 | this.txtPrintData.Multiline = true; 347 | this.txtPrintData.Name = "txtPrintData"; 348 | this.txtPrintData.Size = new System.Drawing.Size(249, 254); 349 | this.txtPrintData.TabIndex = 23; 350 | this.txtPrintData.Text = resources.GetString("txtPrintData.Text"); 351 | // 352 | // btnPrintExternal 353 | // 354 | this.btnPrintExternal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 355 | this.btnPrintExternal.Location = new System.Drawing.Point(1514, 273); 356 | this.btnPrintExternal.Name = "btnPrintExternal"; 357 | this.btnPrintExternal.Size = new System.Drawing.Size(128, 23); 358 | this.btnPrintExternal.TabIndex = 24; 359 | this.btnPrintExternal.Text = "Print external ASCII"; 360 | this.btnPrintExternal.UseVisualStyleBackColor = true; 361 | this.btnPrintExternal.Click += new System.EventHandler(this.btnPrintExternal_Click); 362 | // 363 | // btnPreauth 364 | // 365 | this.btnPreauth.Location = new System.Drawing.Point(24, 325); 366 | this.btnPreauth.Name = "btnPreauth"; 367 | this.btnPreauth.Size = new System.Drawing.Size(84, 23); 368 | this.btnPreauth.TabIndex = 25; 369 | this.btnPreauth.Text = "Preauth"; 370 | this.btnPreauth.UseVisualStyleBackColor = true; 371 | this.btnPreauth.Click += new System.EventHandler(this.btnPreauth_Click); 372 | // 373 | // txtPreauthCode 374 | // 375 | this.txtPreauthCode.Location = new System.Drawing.Point(114, 211); 376 | this.txtPreauthCode.Name = "txtPreauthCode"; 377 | this.txtPreauthCode.Size = new System.Drawing.Size(164, 20); 378 | this.txtPreauthCode.TabIndex = 22; 379 | // 380 | // label6 381 | // 382 | this.label6.AutoSize = true; 383 | this.label6.Location = new System.Drawing.Point(21, 213); 384 | this.label6.Name = "label6"; 385 | this.label6.Size = new System.Drawing.Size(72, 13); 386 | this.label6.TabIndex = 21; 387 | this.label6.Text = "Preauth Code"; 388 | // 389 | // btnPreauthComplete 390 | // 391 | this.btnPreauthComplete.Location = new System.Drawing.Point(114, 325); 392 | this.btnPreauthComplete.Name = "btnPreauthComplete"; 393 | this.btnPreauthComplete.Size = new System.Drawing.Size(146, 23); 394 | this.btnPreauthComplete.TabIndex = 26; 395 | this.btnPreauthComplete.Text = "Preauth completion"; 396 | this.btnPreauthComplete.UseVisualStyleBackColor = true; 397 | this.btnPreauthComplete.Click += new System.EventHandler(this.btnPreauthComplete_Click); 398 | // 399 | // btnPreauthCancel 400 | // 401 | this.btnPreauthCancel.Location = new System.Drawing.Point(266, 325); 402 | this.btnPreauthCancel.Name = "btnPreauthCancel"; 403 | this.btnPreauthCancel.Size = new System.Drawing.Size(146, 23); 404 | this.btnPreauthCancel.TabIndex = 27; 405 | this.btnPreauthCancel.Text = "Preauth cancelation"; 406 | this.btnPreauthCancel.UseVisualStyleBackColor = true; 407 | this.btnPreauthCancel.Click += new System.EventHandler(this.btnPreauthCancel_Click); 408 | // 409 | // label7 410 | // 411 | this.label7.AutoSize = true; 412 | this.label7.Location = new System.Drawing.Point(320, 108); 413 | this.label7.Name = "label7"; 414 | this.label7.Size = new System.Drawing.Size(29, 13); 415 | this.label7.TabIndex = 21; 416 | this.label7.Text = "PAN"; 417 | // 418 | // label8 419 | // 420 | this.label8.AutoSize = true; 421 | this.label8.Location = new System.Drawing.Point(320, 135); 422 | this.label8.Name = "label8"; 423 | this.label8.Size = new System.Drawing.Size(99, 13); 424 | this.label8.TabIndex = 21; 425 | this.label8.Text = "ExpiryDate (MMYY)"; 426 | // 427 | // txtPan 428 | // 429 | this.txtPan.Location = new System.Drawing.Point(433, 106); 430 | this.txtPan.Name = "txtPan"; 431 | this.txtPan.Size = new System.Drawing.Size(164, 20); 432 | this.txtPan.TabIndex = 22; 433 | // 434 | // txtExpiryDate 435 | // 436 | this.txtExpiryDate.Location = new System.Drawing.Point(433, 132); 437 | this.txtExpiryDate.Name = "txtExpiryDate"; 438 | this.txtExpiryDate.Size = new System.Drawing.Size(164, 20); 439 | this.txtExpiryDate.TabIndex = 22; 440 | // 441 | // btnMotoPurchase 442 | // 443 | this.btnMotoPurchase.Location = new System.Drawing.Point(504, 295); 444 | this.btnMotoPurchase.Name = "btnMotoPurchase"; 445 | this.btnMotoPurchase.Size = new System.Drawing.Size(149, 23); 446 | this.btnMotoPurchase.TabIndex = 28; 447 | this.btnMotoPurchase.Text = "Moto Purchase"; 448 | this.btnMotoPurchase.UseVisualStyleBackColor = true; 449 | this.btnMotoPurchase.Click += new System.EventHandler(this.btnMotoPurchase_Click); 450 | // 451 | // btnMotoRefund 452 | // 453 | this.btnMotoRefund.Location = new System.Drawing.Point(504, 325); 454 | this.btnMotoRefund.Name = "btnMotoRefund"; 455 | this.btnMotoRefund.Size = new System.Drawing.Size(149, 23); 456 | this.btnMotoRefund.TabIndex = 28; 457 | this.btnMotoRefund.Text = "Moto Refund"; 458 | this.btnMotoRefund.UseVisualStyleBackColor = true; 459 | this.btnMotoRefund.Click += new System.EventHandler(this.btnMotoRefund_Click); 460 | // 461 | // btnMotoPreauth 462 | // 463 | this.btnMotoPreauth.Location = new System.Drawing.Point(504, 354); 464 | this.btnMotoPreauth.Name = "btnMotoPreauth"; 465 | this.btnMotoPreauth.Size = new System.Drawing.Size(149, 23); 466 | this.btnMotoPreauth.TabIndex = 28; 467 | this.btnMotoPreauth.Text = "Moto Preauth"; 468 | this.btnMotoPreauth.UseVisualStyleBackColor = true; 469 | this.btnMotoPreauth.Click += new System.EventHandler(this.btnMotoPreauth_Click); 470 | // 471 | // btnPing 472 | // 473 | this.btnPing.Location = new System.Drawing.Point(388, 56); 474 | this.btnPing.Name = "btnPing"; 475 | this.btnPing.Size = new System.Drawing.Size(75, 23); 476 | this.btnPing.TabIndex = 17; 477 | this.btnPing.Text = "Ping"; 478 | this.btnPing.UseVisualStyleBackColor = true; 479 | this.btnPing.Click += new System.EventHandler(this.btnPing_Click); 480 | // 481 | // btnReboot 482 | // 483 | this.btnReboot.Location = new System.Drawing.Point(478, 56); 484 | this.btnReboot.Name = "btnReboot"; 485 | this.btnReboot.Size = new System.Drawing.Size(75, 23); 486 | this.btnReboot.TabIndex = 29; 487 | this.btnReboot.Text = "Reboot"; 488 | this.btnReboot.UseVisualStyleBackColor = true; 489 | this.btnReboot.Click += new System.EventHandler(this.btnReboot_Click); 490 | // 491 | // btnGiftActivation 492 | // 493 | this.btnGiftActivation.Location = new System.Drawing.Point(24, 355); 494 | this.btnGiftActivation.Name = "btnGiftActivation"; 495 | this.btnGiftActivation.Size = new System.Drawing.Size(122, 23); 496 | this.btnGiftActivation.TabIndex = 30; 497 | this.btnGiftActivation.Text = "Giftcard Activation"; 498 | this.btnGiftActivation.UseVisualStyleBackColor = true; 499 | this.btnGiftActivation.Click += new System.EventHandler(this.btnGiftActivation_Click); 500 | // 501 | // btnGiftDeactivation 502 | // 503 | this.btnGiftDeactivation.Location = new System.Drawing.Point(156, 355); 504 | this.btnGiftDeactivation.Name = "btnGiftDeactivation"; 505 | this.btnGiftDeactivation.Size = new System.Drawing.Size(122, 23); 506 | this.btnGiftDeactivation.TabIndex = 30; 507 | this.btnGiftDeactivation.Text = "Giftcard Deactivation"; 508 | this.btnGiftDeactivation.UseVisualStyleBackColor = true; 509 | this.btnGiftDeactivation.Click += new System.EventHandler(this.btnGiftDeactivation_Click); 510 | // 511 | // btnCheckBalance 512 | // 513 | this.btnCheckBalance.Location = new System.Drawing.Point(289, 355); 514 | this.btnCheckBalance.Name = "btnCheckBalance"; 515 | this.btnCheckBalance.Size = new System.Drawing.Size(122, 23); 516 | this.btnCheckBalance.TabIndex = 30; 517 | this.btnCheckBalance.Text = "Check Balance"; 518 | this.btnCheckBalance.UseVisualStyleBackColor = true; 519 | this.btnCheckBalance.Click += new System.EventHandler(this.btnCheckBalance_Click); 520 | // 521 | // label9 522 | // 523 | this.label9.AutoSize = true; 524 | this.label9.Location = new System.Drawing.Point(21, 162); 525 | this.label9.Name = "label9"; 526 | this.label9.Size = new System.Drawing.Size(57, 13); 527 | this.label9.TabIndex = 11; 528 | this.label9.Text = "Amount tip"; 529 | // 530 | // txtTipAmount 531 | // 532 | this.txtTipAmount.Location = new System.Drawing.Point(114, 159); 533 | this.txtTipAmount.Name = "txtTipAmount"; 534 | this.txtTipAmount.Size = new System.Drawing.Size(164, 20); 535 | this.txtTipAmount.TabIndex = 13; 536 | // 537 | // cmbReferenceType 538 | // 539 | this.cmbReferenceType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 540 | this.cmbReferenceType.FormattingEnabled = true; 541 | this.cmbReferenceType.Location = new System.Drawing.Point(433, 158); 542 | this.cmbReferenceType.Name = "cmbReferenceType"; 543 | this.cmbReferenceType.Size = new System.Drawing.Size(164, 21); 544 | this.cmbReferenceType.TabIndex = 14; 545 | this.cmbReferenceType.SelectedIndexChanged += new System.EventHandler(this.cmbCurrency_SelectedIndexChanged); 546 | // 547 | // label10 548 | // 549 | this.label10.AutoSize = true; 550 | this.label10.Location = new System.Drawing.Point(320, 161); 551 | this.label10.Name = "label10"; 552 | this.label10.Size = new System.Drawing.Size(80, 13); 553 | this.label10.TabIndex = 19; 554 | this.label10.Text = "Reference type"; 555 | // 556 | // label11 557 | // 558 | this.label11.AutoSize = true; 559 | this.label11.Location = new System.Drawing.Point(320, 188); 560 | this.label11.Name = "label11"; 561 | this.label11.Size = new System.Drawing.Size(95, 13); 562 | this.label11.TabIndex = 21; 563 | this.label11.Text = "Reference number"; 564 | // 565 | // txtReferenceNumber 566 | // 567 | this.txtReferenceNumber.Location = new System.Drawing.Point(433, 185); 568 | this.txtReferenceNumber.Name = "txtReferenceNumber"; 569 | this.txtReferenceNumber.Size = new System.Drawing.Size(164, 20); 570 | this.txtReferenceNumber.TabIndex = 22; 571 | // 572 | // btnPurchase 573 | // 574 | this.btnPurchase.Location = new System.Drawing.Point(24, 296); 575 | this.btnPurchase.Name = "btnPurchase"; 576 | this.btnPurchase.Size = new System.Drawing.Size(122, 23); 577 | this.btnPurchase.TabIndex = 31; 578 | this.btnPurchase.Text = "Purchase"; 579 | this.btnPurchase.UseVisualStyleBackColor = true; 580 | this.btnPurchase.Click += new System.EventHandler(this.btnPurchase_Click); 581 | // 582 | // label12 583 | // 584 | this.label12.AutoSize = true; 585 | this.label12.Location = new System.Drawing.Point(320, 213); 586 | this.label12.Name = "label12"; 587 | this.label12.Size = new System.Drawing.Size(75, 13); 588 | this.label12.TabIndex = 21; 589 | this.label12.Text = "Operator code"; 590 | // 591 | // txtOperatorCode 592 | // 593 | this.txtOperatorCode.Location = new System.Drawing.Point(433, 210); 594 | this.txtOperatorCode.Name = "txtOperatorCode"; 595 | this.txtOperatorCode.Size = new System.Drawing.Size(164, 20); 596 | this.txtOperatorCode.TabIndex = 22; 597 | // 598 | // label13 599 | // 600 | this.label13.AutoSize = true; 601 | this.label13.Location = new System.Drawing.Point(320, 239); 602 | this.label13.Name = "label13"; 603 | this.label13.Size = new System.Drawing.Size(53, 13); 604 | this.label13.TabIndex = 21; 605 | this.label13.Text = "Password"; 606 | // 607 | // txtPassword 608 | // 609 | this.txtPassword.Location = new System.Drawing.Point(433, 236); 610 | this.txtPassword.Name = "txtPassword"; 611 | this.txtPassword.Size = new System.Drawing.Size(164, 20); 612 | this.txtPassword.TabIndex = 22; 613 | // 614 | // label14 615 | // 616 | this.label14.AutoSize = true; 617 | this.label14.Location = new System.Drawing.Point(619, 108); 618 | this.label14.Name = "label14"; 619 | this.label14.Size = new System.Drawing.Size(31, 13); 620 | this.label14.TabIndex = 21; 621 | this.label14.Text = "GSM"; 622 | // 623 | // txtGSM 624 | // 625 | this.txtGSM.Location = new System.Drawing.Point(695, 106); 626 | this.txtGSM.Name = "txtGSM"; 627 | this.txtGSM.Size = new System.Drawing.Size(164, 20); 628 | this.txtGSM.TabIndex = 22; 629 | // 630 | // label15 631 | // 632 | this.label15.AutoSize = true; 633 | this.label15.Location = new System.Drawing.Point(619, 135); 634 | this.label15.Name = "label15"; 635 | this.label15.Size = new System.Drawing.Size(33, 13); 636 | this.label15.TabIndex = 21; 637 | this.label15.Text = "EMail"; 638 | // 639 | // txtEMail 640 | // 641 | this.txtEMail.Location = new System.Drawing.Point(695, 133); 642 | this.txtEMail.Name = "txtEMail"; 643 | this.txtEMail.Size = new System.Drawing.Size(164, 20); 644 | this.txtEMail.TabIndex = 22; 645 | // 646 | // label16 647 | // 648 | this.label16.AutoSize = true; 649 | this.label16.Location = new System.Drawing.Point(619, 161); 650 | this.label16.Name = "label16"; 651 | this.label16.Size = new System.Drawing.Size(52, 13); 652 | this.label16.TabIndex = 21; 653 | this.label16.Text = "Recipient"; 654 | // 655 | // txtRecipient 656 | // 657 | this.txtRecipient.Location = new System.Drawing.Point(695, 159); 658 | this.txtRecipient.Name = "txtRecipient"; 659 | this.txtRecipient.Size = new System.Drawing.Size(164, 20); 660 | this.txtRecipient.TabIndex = 22; 661 | // 662 | // label17 663 | // 664 | this.label17.AutoSize = true; 665 | this.label17.Location = new System.Drawing.Point(619, 213); 666 | this.label17.Name = "label17"; 667 | this.label17.Size = new System.Drawing.Size(31, 13); 668 | this.label17.TabIndex = 21; 669 | this.label17.Text = "Days"; 670 | // 671 | // txtDays 672 | // 673 | this.txtDays.Location = new System.Drawing.Point(695, 211); 674 | this.txtDays.Name = "txtDays"; 675 | this.txtDays.Size = new System.Drawing.Size(164, 20); 676 | this.txtDays.TabIndex = 22; 677 | // 678 | // btnPaymentRequest 679 | // 680 | this.btnPaymentRequest.Location = new System.Drawing.Point(695, 244); 681 | this.btnPaymentRequest.Name = "btnPaymentRequest"; 682 | this.btnPaymentRequest.Size = new System.Drawing.Size(164, 23); 683 | this.btnPaymentRequest.TabIndex = 28; 684 | this.btnPaymentRequest.Text = "Payment Request"; 685 | this.btnPaymentRequest.UseVisualStyleBackColor = true; 686 | this.btnPaymentRequest.Click += new System.EventHandler(this.btnPaymentRequest_Click); 687 | // 688 | // label18 689 | // 690 | this.label18.AutoSize = true; 691 | this.label18.Location = new System.Drawing.Point(619, 187); 692 | this.label18.Name = "label18"; 693 | this.label18.Size = new System.Drawing.Size(44, 13); 694 | this.label18.TabIndex = 21; 695 | this.label18.Text = "Reason"; 696 | // 697 | // txtReason 698 | // 699 | this.txtReason.Location = new System.Drawing.Point(695, 185); 700 | this.txtReason.Name = "txtReason"; 701 | this.txtReason.Size = new System.Drawing.Size(164, 20); 702 | this.txtReason.TabIndex = 22; 703 | // 704 | // cmbLanguage 705 | // 706 | this.cmbLanguage.FormattingEnabled = true; 707 | this.cmbLanguage.Location = new System.Drawing.Point(809, 58); 708 | this.cmbLanguage.Name = "cmbLanguage"; 709 | this.cmbLanguage.Size = new System.Drawing.Size(160, 21); 710 | this.cmbLanguage.TabIndex = 32; 711 | this.cmbLanguage.SelectedIndexChanged += new System.EventHandler(this.cmbLanguage_SelectedIndexChanged); 712 | // 713 | // btnCheckCard 714 | // 715 | this.btnCheckCard.Location = new System.Drawing.Point(681, 295); 716 | this.btnCheckCard.Name = "btnCheckCard"; 717 | this.btnCheckCard.Size = new System.Drawing.Size(149, 23); 718 | this.btnCheckCard.TabIndex = 28; 719 | this.btnCheckCard.Text = "Check Card"; 720 | this.btnCheckCard.UseVisualStyleBackColor = true; 721 | this.btnCheckCard.Click += new System.EventHandler(this.btnCheckCard_Click); 722 | // 723 | // btnOriginalCredit 724 | // 725 | this.btnOriginalCredit.Location = new System.Drawing.Point(681, 325); 726 | this.btnOriginalCredit.Name = "btnOriginalCredit"; 727 | this.btnOriginalCredit.Size = new System.Drawing.Size(149, 23); 728 | this.btnOriginalCredit.TabIndex = 28; 729 | this.btnOriginalCredit.Text = "Original Credit"; 730 | this.btnOriginalCredit.UseVisualStyleBackColor = true; 731 | this.btnOriginalCredit.Click += new System.EventHandler(this.btnOriginalCredit_Click); 732 | // 733 | // btnSendLog 734 | // 735 | this.btnSendLog.Location = new System.Drawing.Point(681, 56); 736 | this.btnSendLog.Name = "btnSendLog"; 737 | this.btnSendLog.Size = new System.Drawing.Size(100, 23); 738 | this.btnSendLog.TabIndex = 33; 739 | this.btnSendLog.Text = "Send Log"; 740 | this.btnSendLog.UseVisualStyleBackColor = true; 741 | this.btnSendLog.Click += new System.EventHandler(this.btnSendLog_Click); 742 | // 743 | // btnVendingPurchase 744 | // 745 | this.btnVendingPurchase.Location = new System.Drawing.Point(854, 296); 746 | this.btnVendingPurchase.Name = "btnVendingPurchase"; 747 | this.btnVendingPurchase.Size = new System.Drawing.Size(149, 23); 748 | this.btnVendingPurchase.TabIndex = 34; 749 | this.btnVendingPurchase.Text = "Vending Purchase"; 750 | this.btnVendingPurchase.UseVisualStyleBackColor = true; 751 | this.btnVendingPurchase.Click += new System.EventHandler(this.btnVendingPurchase_Click); 752 | // 753 | // btnVendingStop 754 | // 755 | this.btnVendingStop.Location = new System.Drawing.Point(854, 325); 756 | this.btnVendingStop.Name = "btnVendingStop"; 757 | this.btnVendingStop.Size = new System.Drawing.Size(149, 23); 758 | this.btnVendingStop.TabIndex = 35; 759 | this.btnVendingStop.Text = "Vending Stop"; 760 | this.btnVendingStop.UseVisualStyleBackColor = true; 761 | this.btnVendingStop.Click += new System.EventHandler(this.btnVendingStop_Click); 762 | // 763 | // btnClearLog 764 | // 765 | this.btnClearLog.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 766 | this.btnClearLog.Location = new System.Drawing.Point(1631, 384); 767 | this.btnClearLog.Name = "btnClearLog"; 768 | this.btnClearLog.Size = new System.Drawing.Size(132, 23); 769 | this.btnClearLog.TabIndex = 36; 770 | this.btnClearLog.Text = "Clear log"; 771 | this.btnClearLog.UseVisualStyleBackColor = true; 772 | this.btnClearLog.Click += new System.EventHandler(this.btnClearLog_Click); 773 | // 774 | // chkWriteLog 775 | // 776 | this.chkWriteLog.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 777 | this.chkWriteLog.AutoSize = true; 778 | this.chkWriteLog.Checked = true; 779 | this.chkWriteLog.CheckState = System.Windows.Forms.CheckState.Checked; 780 | this.chkWriteLog.Location = new System.Drawing.Point(1662, 361); 781 | this.chkWriteLog.Name = "chkWriteLog"; 782 | this.chkWriteLog.Size = new System.Drawing.Size(101, 17); 783 | this.chkWriteLog.TabIndex = 37; 784 | this.chkWriteLog.Text = "Write debug log"; 785 | this.chkWriteLog.UseVisualStyleBackColor = true; 786 | // 787 | // btnBeep 788 | // 789 | this.btnBeep.Location = new System.Drawing.Point(961, 162); 790 | this.btnBeep.Name = "btnBeep"; 791 | this.btnBeep.Size = new System.Drawing.Size(113, 23); 792 | this.btnBeep.TabIndex = 38; 793 | this.btnBeep.Text = "Beep"; 794 | this.btnBeep.UseVisualStyleBackColor = true; 795 | this.btnBeep.Click += new System.EventHandler(this.btnBeep_Click); 796 | // 797 | // label19 798 | // 799 | this.label19.AutoSize = true; 800 | this.label19.Location = new System.Drawing.Point(887, 108); 801 | this.label19.Name = "label19"; 802 | this.label19.Size = new System.Drawing.Size(32, 13); 803 | this.label19.TabIndex = 39; 804 | this.label19.Text = "Tone"; 805 | // 806 | // label20 807 | // 808 | this.label20.AutoSize = true; 809 | this.label20.Location = new System.Drawing.Point(887, 135); 810 | this.label20.Name = "label20"; 811 | this.label20.Size = new System.Drawing.Size(69, 13); 812 | this.label20.TabIndex = 40; 813 | this.label20.Text = "Duration (ms)"; 814 | // 815 | // cmbBeepTone 816 | // 817 | this.cmbBeepTone.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 818 | this.cmbBeepTone.FormattingEnabled = true; 819 | this.cmbBeepTone.Location = new System.Drawing.Point(961, 105); 820 | this.cmbBeepTone.Name = "cmbBeepTone"; 821 | this.cmbBeepTone.Size = new System.Drawing.Size(113, 21); 822 | this.cmbBeepTone.TabIndex = 41; 823 | // 824 | // txtBeepDuration 825 | // 826 | this.txtBeepDuration.Location = new System.Drawing.Point(961, 133); 827 | this.txtBeepDuration.Name = "txtBeepDuration"; 828 | this.txtBeepDuration.Size = new System.Drawing.Size(113, 20); 829 | this.txtBeepDuration.TabIndex = 42; 830 | // 831 | // btnVendingComplete 832 | // 833 | this.btnVendingComplete.Location = new System.Drawing.Point(854, 355); 834 | this.btnVendingComplete.Name = "btnVendingComplete"; 835 | this.btnVendingComplete.Size = new System.Drawing.Size(149, 23); 836 | this.btnVendingComplete.TabIndex = 35; 837 | this.btnVendingComplete.Text = "Vending Complete"; 838 | this.btnVendingComplete.UseVisualStyleBackColor = true; 839 | this.btnVendingComplete.Click += new System.EventHandler(this.btnVendingComplete_Click); 840 | // 841 | // btnVendingCancel 842 | // 843 | this.btnVendingCancel.Location = new System.Drawing.Point(854, 384); 844 | this.btnVendingCancel.Name = "btnVendingCancel"; 845 | this.btnVendingCancel.Size = new System.Drawing.Size(149, 23); 846 | this.btnVendingCancel.TabIndex = 35; 847 | this.btnVendingCancel.Text = "Vending Cancel"; 848 | this.btnVendingCancel.UseVisualStyleBackColor = true; 849 | this.btnVendingCancel.Click += new System.EventHandler(this.btnVendingCancel_Click); 850 | // 851 | // btnOpenSettings 852 | // 853 | this.btnOpenSettings.Location = new System.Drawing.Point(572, 56); 854 | this.btnOpenSettings.Name = "btnOpenSettings"; 855 | this.btnOpenSettings.Size = new System.Drawing.Size(99, 23); 856 | this.btnOpenSettings.TabIndex = 29; 857 | this.btnOpenSettings.Text = "Open settings"; 858 | this.btnOpenSettings.UseVisualStyleBackColor = true; 859 | this.btnOpenSettings.Click += new System.EventHandler(this.btnOpenSettings_Click); 860 | // 861 | // fixedPinpadCb 862 | // 863 | this.fixedPinpadCb.AutoSize = true; 864 | this.fixedPinpadCb.Checked = true; 865 | this.fixedPinpadCb.CheckState = System.Windows.Forms.CheckState.Checked; 866 | this.fixedPinpadCb.Location = new System.Drawing.Point(961, 209); 867 | this.fixedPinpadCb.Name = "fixedPinpadCb"; 868 | this.fixedPinpadCb.Size = new System.Drawing.Size(87, 17); 869 | this.fixedPinpadCb.TabIndex = 43; 870 | this.fixedPinpadCb.Text = "Fixed Pinpad"; 871 | this.fixedPinpadCb.UseVisualStyleBackColor = true; 872 | this.fixedPinpadCb.CheckedChanged += new System.EventHandler(this.fixedPinpadCb_CheckedChanged); 873 | // 874 | // btnCheckForCRR 875 | // 876 | this.btnCheckForCRR.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 877 | this.btnCheckForCRR.Location = new System.Drawing.Point(1514, 303); 878 | this.btnCheckForCRR.Name = "btnCheckForCRR"; 879 | this.btnCheckForCRR.Size = new System.Drawing.Size(249, 23); 880 | this.btnCheckForCRR.TabIndex = 44; 881 | this.btnCheckForCRR.Text = "Check for CRR transaction"; 882 | this.btnCheckForCRR.UseVisualStyleBackColor = true; 883 | this.btnCheckForCRR.Click += new System.EventHandler(this.btnCheckForCRR_Click); 884 | // 885 | // btnStopWaitingCard 886 | // 887 | this.btnStopWaitingCard.Location = new System.Drawing.Point(105, 395); 888 | this.btnStopWaitingCard.Name = "btnStopWaitingCard"; 889 | this.btnStopWaitingCard.Size = new System.Drawing.Size(116, 23); 890 | this.btnStopWaitingCard.TabIndex = 45; 891 | this.btnStopWaitingCard.Text = "Stop waiting card"; 892 | this.btnStopWaitingCard.UseVisualStyleBackColor = true; 893 | this.btnStopWaitingCard.Click += new System.EventHandler(this.btnStopWaitingCard_Click); 894 | // 895 | // btnCashAdvance 896 | // 897 | this.btnCashAdvance.Location = new System.Drawing.Point(681, 354); 898 | this.btnCashAdvance.Name = "btnCashAdvance"; 899 | this.btnCashAdvance.Size = new System.Drawing.Size(149, 23); 900 | this.btnCashAdvance.TabIndex = 46; 901 | this.btnCashAdvance.Text = "Cash Advance"; 902 | this.btnCashAdvance.UseVisualStyleBackColor = true; 903 | this.btnCashAdvance.Click += new System.EventHandler(this.btnCashAdvance_Click); 904 | // 905 | // btnPrintExternalUTF8 906 | // 907 | this.btnPrintExternalUTF8.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); 908 | this.btnPrintExternalUTF8.Location = new System.Drawing.Point(1648, 273); 909 | this.btnPrintExternalUTF8.Name = "btnPrintExternalUTF8"; 910 | this.btnPrintExternalUTF8.Size = new System.Drawing.Size(115, 23); 911 | this.btnPrintExternalUTF8.TabIndex = 24; 912 | this.btnPrintExternalUTF8.Text = "Print external UTF8"; 913 | this.btnPrintExternalUTF8.UseVisualStyleBackColor = true; 914 | this.btnPrintExternalUTF8.Click += new System.EventHandler(this.btnPrintExternalUTF8_Click); 915 | // 916 | // chkVendingShowAmount 917 | // 918 | this.chkVendingShowAmount.AutoSize = true; 919 | this.chkVendingShowAmount.Location = new System.Drawing.Point(836, 273); 920 | this.chkVendingShowAmount.Name = "chkVendingShowAmount"; 921 | this.chkVendingShowAmount.Size = new System.Drawing.Size(194, 17); 922 | this.chkVendingShowAmount.TabIndex = 47; 923 | this.chkVendingShowAmount.Text = "Show amount on vending purchase"; 924 | this.chkVendingShowAmount.UseVisualStyleBackColor = true; 925 | // 926 | // btnDisconnect 927 | // 928 | this.btnDisconnect.Location = new System.Drawing.Point(418, 8); 929 | this.btnDisconnect.Name = "btnDisconnect"; 930 | this.btnDisconnect.Size = new System.Drawing.Size(75, 23); 931 | this.btnDisconnect.TabIndex = 48; 932 | this.btnDisconnect.Text = "Disconnect"; 933 | this.btnDisconnect.UseVisualStyleBackColor = true; 934 | this.btnDisconnect.Click += new System.EventHandler(this.btnDisconnect_Click); 935 | // 936 | // btnVendingAutoCycle 937 | // 938 | this.btnVendingAutoCycle.Location = new System.Drawing.Point(1009, 296); 939 | this.btnVendingAutoCycle.Name = "btnVendingAutoCycle"; 940 | this.btnVendingAutoCycle.Size = new System.Drawing.Size(149, 23); 941 | this.btnVendingAutoCycle.TabIndex = 49; 942 | this.btnVendingAutoCycle.Text = "Start Vending Autocycle"; 943 | this.btnVendingAutoCycle.UseVisualStyleBackColor = true; 944 | this.btnVendingAutoCycle.Click += new System.EventHandler(this.btnVendingAutoCycle_Click); 945 | // 946 | // chbVendingAutoCycleCompleteTransactions 947 | // 948 | this.chbVendingAutoCycleCompleteTransactions.AutoSize = true; 949 | this.chbVendingAutoCycleCompleteTransactions.Location = new System.Drawing.Point(1010, 325); 950 | this.chbVendingAutoCycleCompleteTransactions.Name = "chbVendingAutoCycleCompleteTransactions"; 951 | this.chbVendingAutoCycleCompleteTransactions.Size = new System.Drawing.Size(154, 17); 952 | this.chbVendingAutoCycleCompleteTransactions.TabIndex = 50; 953 | this.chbVendingAutoCycleCompleteTransactions.Text = "Complete auto transactions"; 954 | this.chbVendingAutoCycleCompleteTransactions.UseVisualStyleBackColor = true; 955 | // 956 | // label21 957 | // 958 | this.label21.AutoSize = true; 959 | this.label21.Location = new System.Drawing.Point(1194, 89); 960 | this.label21.Name = "label21"; 961 | this.label21.Size = new System.Drawing.Size(68, 13); 962 | this.label21.TabIndex = 51; 963 | this.label21.Text = "Display Text:"; 964 | // 965 | // txtDispalyTextRow1 966 | // 967 | this.txtDispalyTextRow1.Location = new System.Drawing.Point(1197, 105); 968 | this.txtDispalyTextRow1.Name = "txtDispalyTextRow1"; 969 | this.txtDispalyTextRow1.Size = new System.Drawing.Size(188, 20); 970 | this.txtDispalyTextRow1.TabIndex = 52; 971 | // 972 | // txtDispalyTextRow2 973 | // 974 | this.txtDispalyTextRow2.Location = new System.Drawing.Point(1197, 132); 975 | this.txtDispalyTextRow2.Name = "txtDispalyTextRow2"; 976 | this.txtDispalyTextRow2.Size = new System.Drawing.Size(188, 20); 977 | this.txtDispalyTextRow2.TabIndex = 52; 978 | // 979 | // txtDispalyTextRow3 980 | // 981 | this.txtDispalyTextRow3.Location = new System.Drawing.Point(1197, 159); 982 | this.txtDispalyTextRow3.Name = "txtDispalyTextRow3"; 983 | this.txtDispalyTextRow3.Size = new System.Drawing.Size(188, 20); 984 | this.txtDispalyTextRow3.TabIndex = 52; 985 | // 986 | // txtDispalyTextRow4 987 | // 988 | this.txtDispalyTextRow4.Location = new System.Drawing.Point(1197, 186); 989 | this.txtDispalyTextRow4.Name = "txtDispalyTextRow4"; 990 | this.txtDispalyTextRow4.Size = new System.Drawing.Size(188, 20); 991 | this.txtDispalyTextRow4.TabIndex = 52; 992 | // 993 | // txtDispalyTextRow5 994 | // 995 | this.txtDispalyTextRow5.Location = new System.Drawing.Point(1197, 211); 996 | this.txtDispalyTextRow5.Name = "txtDispalyTextRow5"; 997 | this.txtDispalyTextRow5.Size = new System.Drawing.Size(188, 20); 998 | this.txtDispalyTextRow5.TabIndex = 52; 999 | // 1000 | // label22 1001 | // 1002 | this.label22.AutoSize = true; 1003 | this.label22.Location = new System.Drawing.Point(1158, 108); 1004 | this.label22.Name = "label22"; 1005 | this.label22.Size = new System.Drawing.Size(38, 13); 1006 | this.label22.TabIndex = 53; 1007 | this.label22.Text = "Row 1"; 1008 | // 1009 | // label23 1010 | // 1011 | this.label23.AutoSize = true; 1012 | this.label23.Location = new System.Drawing.Point(1158, 135); 1013 | this.label23.Name = "label23"; 1014 | this.label23.Size = new System.Drawing.Size(38, 13); 1015 | this.label23.TabIndex = 53; 1016 | this.label23.Text = "Row 2"; 1017 | // 1018 | // label24 1019 | // 1020 | this.label24.AutoSize = true; 1021 | this.label24.Location = new System.Drawing.Point(1158, 162); 1022 | this.label24.Name = "label24"; 1023 | this.label24.Size = new System.Drawing.Size(38, 13); 1024 | this.label24.TabIndex = 53; 1025 | this.label24.Text = "Row 3"; 1026 | // 1027 | // label25 1028 | // 1029 | this.label25.AutoSize = true; 1030 | this.label25.Location = new System.Drawing.Point(1158, 189); 1031 | this.label25.Name = "label25"; 1032 | this.label25.Size = new System.Drawing.Size(38, 13); 1033 | this.label25.TabIndex = 53; 1034 | this.label25.Text = "Row 4"; 1035 | // 1036 | // label26 1037 | // 1038 | this.label26.AutoSize = true; 1039 | this.label26.Location = new System.Drawing.Point(1158, 214); 1040 | this.label26.Name = "label26"; 1041 | this.label26.Size = new System.Drawing.Size(38, 13); 1042 | this.label26.TabIndex = 53; 1043 | this.label26.Text = "Row 5"; 1044 | // 1045 | // cmbDispalyTextRow1Align 1046 | // 1047 | this.cmbDispalyTextRow1Align.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1048 | this.cmbDispalyTextRow1Align.FormattingEnabled = true; 1049 | this.cmbDispalyTextRow1Align.Location = new System.Drawing.Point(1394, 105); 1050 | this.cmbDispalyTextRow1Align.Name = "cmbDispalyTextRow1Align"; 1051 | this.cmbDispalyTextRow1Align.Size = new System.Drawing.Size(83, 21); 1052 | this.cmbDispalyTextRow1Align.TabIndex = 54; 1053 | // 1054 | // cmbDispalyTextRow2Align 1055 | // 1056 | this.cmbDispalyTextRow2Align.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1057 | this.cmbDispalyTextRow2Align.FormattingEnabled = true; 1058 | this.cmbDispalyTextRow2Align.Location = new System.Drawing.Point(1394, 133); 1059 | this.cmbDispalyTextRow2Align.Name = "cmbDispalyTextRow2Align"; 1060 | this.cmbDispalyTextRow2Align.Size = new System.Drawing.Size(83, 21); 1061 | this.cmbDispalyTextRow2Align.TabIndex = 54; 1062 | // 1063 | // cmbDispalyTextRow3Align 1064 | // 1065 | this.cmbDispalyTextRow3Align.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1066 | this.cmbDispalyTextRow3Align.FormattingEnabled = true; 1067 | this.cmbDispalyTextRow3Align.Location = new System.Drawing.Point(1394, 159); 1068 | this.cmbDispalyTextRow3Align.Name = "cmbDispalyTextRow3Align"; 1069 | this.cmbDispalyTextRow3Align.Size = new System.Drawing.Size(83, 21); 1070 | this.cmbDispalyTextRow3Align.TabIndex = 54; 1071 | // 1072 | // cmbDispalyTextRow4Align 1073 | // 1074 | this.cmbDispalyTextRow4Align.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1075 | this.cmbDispalyTextRow4Align.FormattingEnabled = true; 1076 | this.cmbDispalyTextRow4Align.Location = new System.Drawing.Point(1394, 186); 1077 | this.cmbDispalyTextRow4Align.Name = "cmbDispalyTextRow4Align"; 1078 | this.cmbDispalyTextRow4Align.Size = new System.Drawing.Size(83, 21); 1079 | this.cmbDispalyTextRow4Align.TabIndex = 54; 1080 | // 1081 | // cmbDispalyTextRow5Align 1082 | // 1083 | this.cmbDispalyTextRow5Align.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 1084 | this.cmbDispalyTextRow5Align.FormattingEnabled = true; 1085 | this.cmbDispalyTextRow5Align.Location = new System.Drawing.Point(1394, 210); 1086 | this.cmbDispalyTextRow5Align.Name = "cmbDispalyTextRow5Align"; 1087 | this.cmbDispalyTextRow5Align.Size = new System.Drawing.Size(83, 21); 1088 | this.cmbDispalyTextRow5Align.TabIndex = 54; 1089 | // 1090 | // label27 1091 | // 1092 | this.label27.AutoSize = true; 1093 | this.label27.Location = new System.Drawing.Point(1161, 368); 1094 | this.label27.Name = "label27"; 1095 | this.label27.Size = new System.Drawing.Size(45, 13); 1096 | this.label27.TabIndex = 55; 1097 | this.label27.Text = "Timeout"; 1098 | // 1099 | // txtDispalyTextTimeout 1100 | // 1101 | this.txtDispalyTextTimeout.Location = new System.Drawing.Point(1212, 367); 1102 | this.txtDispalyTextTimeout.Name = "txtDispalyTextTimeout"; 1103 | this.txtDispalyTextTimeout.Size = new System.Drawing.Size(100, 20); 1104 | this.txtDispalyTextTimeout.TabIndex = 56; 1105 | // 1106 | // btnDisplayText 1107 | // 1108 | this.btnDisplayText.Location = new System.Drawing.Point(1161, 395); 1109 | this.btnDisplayText.Name = "btnDisplayText"; 1110 | this.btnDisplayText.Size = new System.Drawing.Size(137, 23); 1111 | this.btnDisplayText.TabIndex = 57; 1112 | this.btnDisplayText.Text = "Display Text"; 1113 | this.btnDisplayText.UseVisualStyleBackColor = true; 1114 | this.btnDisplayText.Click += new System.EventHandler(this.btnDisplayText_Click); 1115 | // 1116 | // btnIsWaitingForCard 1117 | // 1118 | this.btnIsWaitingForCard.Location = new System.Drawing.Point(1010, 355); 1119 | this.btnIsWaitingForCard.Name = "btnIsWaitingForCard"; 1120 | this.btnIsWaitingForCard.Size = new System.Drawing.Size(148, 23); 1121 | this.btnIsWaitingForCard.TabIndex = 58; 1122 | this.btnIsWaitingForCard.Text = "Is Waiting For Card"; 1123 | this.btnIsWaitingForCard.UseVisualStyleBackColor = true; 1124 | this.btnIsWaitingForCard.Click += new System.EventHandler(this.btnIsWaitingForCard_Click); 1125 | // 1126 | // btnHideText 1127 | // 1128 | this.btnHideText.Location = new System.Drawing.Point(1304, 395); 1129 | this.btnHideText.Name = "btnHideText"; 1130 | this.btnHideText.Size = new System.Drawing.Size(137, 23); 1131 | this.btnHideText.TabIndex = 59; 1132 | this.btnHideText.Text = "Hide text"; 1133 | this.btnHideText.UseVisualStyleBackColor = true; 1134 | this.btnHideText.Click += new System.EventHandler(this.btnHideText_Click); 1135 | // 1136 | // btnPurchaseAutoCycle 1137 | // 1138 | this.btnPurchaseAutoCycle.Location = new System.Drawing.Point(350, 395); 1139 | this.btnPurchaseAutoCycle.Name = "btnPurchaseAutoCycle"; 1140 | this.btnPurchaseAutoCycle.Size = new System.Drawing.Size(149, 23); 1141 | this.btnPurchaseAutoCycle.TabIndex = 60; 1142 | this.btnPurchaseAutoCycle.Text = "Start Purchase Autocycle"; 1143 | this.btnPurchaseAutoCycle.UseVisualStyleBackColor = true; 1144 | this.btnPurchaseAutoCycle.Click += new System.EventHandler(this.btnPurchaseAutoCycle_Click); 1145 | // 1146 | // btnTwintPurchase 1147 | // 1148 | this.btnTwintPurchase.Location = new System.Drawing.Point(681, 384); 1149 | this.btnTwintPurchase.Name = "btnTwintPurchase"; 1150 | this.btnTwintPurchase.Size = new System.Drawing.Size(149, 23); 1151 | this.btnTwintPurchase.TabIndex = 61; 1152 | this.btnTwintPurchase.Text = "Twint Purchase"; 1153 | this.btnTwintPurchase.UseVisualStyleBackColor = true; 1154 | this.btnTwintPurchase.Click += new System.EventHandler(this.btnTwintPurchase_Click); 1155 | // 1156 | // label5 1157 | // 1158 | this.label5.AutoSize = true; 1159 | this.label5.Location = new System.Drawing.Point(529, 13); 1160 | this.label5.Name = "label5"; 1161 | this.label5.Size = new System.Drawing.Size(76, 13); 1162 | this.label5.TabIndex = 62; 1163 | this.label5.Text = "IP / Hostname"; 1164 | // 1165 | // txtTermIPHostname 1166 | // 1167 | this.txtTermIPHostname.Location = new System.Drawing.Point(621, 10); 1168 | this.txtTermIPHostname.Name = "txtTermIPHostname"; 1169 | this.txtTermIPHostname.Size = new System.Drawing.Size(98, 20); 1170 | this.txtTermIPHostname.TabIndex = 63; 1171 | this.txtTermIPHostname.Text = "127.0.0.1"; 1172 | // 1173 | // label28 1174 | // 1175 | this.label28.AutoSize = true; 1176 | this.label28.Location = new System.Drawing.Point(728, 13); 1177 | this.label28.Name = "label28"; 1178 | this.label28.Size = new System.Drawing.Size(26, 13); 1179 | this.label28.TabIndex = 64; 1180 | this.label28.Text = "Port"; 1181 | // 1182 | // txtTermTCPPort 1183 | // 1184 | this.txtTermTCPPort.Location = new System.Drawing.Point(760, 10); 1185 | this.txtTermTCPPort.Name = "txtTermTCPPort"; 1186 | this.txtTermTCPPort.Size = new System.Drawing.Size(50, 20); 1187 | this.txtTermTCPPort.TabIndex = 65; 1188 | this.txtTermTCPPort.Text = "60180"; 1189 | // 1190 | // btnTerm_IP_TCP_Connect 1191 | // 1192 | this.btnTerm_IP_TCP_Connect.Location = new System.Drawing.Point(817, 8); 1193 | this.btnTerm_IP_TCP_Connect.Name = "btnTerm_IP_TCP_Connect"; 1194 | this.btnTerm_IP_TCP_Connect.Size = new System.Drawing.Size(86, 23); 1195 | this.btnTerm_IP_TCP_Connect.TabIndex = 66; 1196 | this.btnTerm_IP_TCP_Connect.Text = "Connect"; 1197 | this.btnTerm_IP_TCP_Connect.UseVisualStyleBackColor = true; 1198 | this.btnTerm_IP_TCP_Connect.Click += new System.EventHandler(this.btnTerm_IP_TCP_Connect_Click); 1199 | // 1200 | // btnDisplayButtons 1201 | // 1202 | this.btnDisplayButtons.Location = new System.Drawing.Point(1447, 395); 1203 | this.btnDisplayButtons.Name = "btnDisplayButtons"; 1204 | this.btnDisplayButtons.Size = new System.Drawing.Size(137, 23); 1205 | this.btnDisplayButtons.TabIndex = 67; 1206 | this.btnDisplayButtons.Text = "Show Bittons"; 1207 | this.btnDisplayButtons.UseVisualStyleBackColor = true; 1208 | this.btnDisplayButtons.Click += new System.EventHandler(this.btnDisplayButtons_Click); 1209 | // 1210 | // label29 1211 | // 1212 | this.label29.AutoSize = true; 1213 | this.label29.Location = new System.Drawing.Point(1158, 240); 1214 | this.label29.Name = "label29"; 1215 | this.label29.Size = new System.Drawing.Size(32, 13); 1216 | this.label29.TabIndex = 69; 1217 | this.label29.Text = "Btn 1"; 1218 | // 1219 | // txtButtonText1 1220 | // 1221 | this.txtButtonText1.Location = new System.Drawing.Point(1197, 237); 1222 | this.txtButtonText1.Name = "txtButtonText1"; 1223 | this.txtButtonText1.Size = new System.Drawing.Size(188, 20); 1224 | this.txtButtonText1.TabIndex = 68; 1225 | // 1226 | // label30 1227 | // 1228 | this.label30.AutoSize = true; 1229 | this.label30.Location = new System.Drawing.Point(1158, 266); 1230 | this.label30.Name = "label30"; 1231 | this.label30.Size = new System.Drawing.Size(32, 13); 1232 | this.label30.TabIndex = 71; 1233 | this.label30.Text = "Btn 2"; 1234 | // 1235 | // txtButtonText2 1236 | // 1237 | this.txtButtonText2.Location = new System.Drawing.Point(1197, 263); 1238 | this.txtButtonText2.Name = "txtButtonText2"; 1239 | this.txtButtonText2.Size = new System.Drawing.Size(188, 20); 1240 | this.txtButtonText2.TabIndex = 70; 1241 | // 1242 | // label31 1243 | // 1244 | this.label31.AutoSize = true; 1245 | this.label31.Location = new System.Drawing.Point(1158, 292); 1246 | this.label31.Name = "label31"; 1247 | this.label31.Size = new System.Drawing.Size(32, 13); 1248 | this.label31.TabIndex = 73; 1249 | this.label31.Text = "Btn 3"; 1250 | // 1251 | // txtButtonText3 1252 | // 1253 | this.txtButtonText3.Location = new System.Drawing.Point(1197, 289); 1254 | this.txtButtonText3.Name = "txtButtonText3"; 1255 | this.txtButtonText3.Size = new System.Drawing.Size(188, 20); 1256 | this.txtButtonText3.TabIndex = 72; 1257 | // 1258 | // label32 1259 | // 1260 | this.label32.AutoSize = true; 1261 | this.label32.Location = new System.Drawing.Point(1158, 318); 1262 | this.label32.Name = "label32"; 1263 | this.label32.Size = new System.Drawing.Size(32, 13); 1264 | this.label32.TabIndex = 75; 1265 | this.label32.Text = "Btn 4"; 1266 | // 1267 | // txtButtonText4 1268 | // 1269 | this.txtButtonText4.Location = new System.Drawing.Point(1197, 315); 1270 | this.txtButtonText4.Name = "txtButtonText4"; 1271 | this.txtButtonText4.Size = new System.Drawing.Size(188, 20); 1272 | this.txtButtonText4.TabIndex = 74; 1273 | // 1274 | // label33 1275 | // 1276 | this.label33.AutoSize = true; 1277 | this.label33.Location = new System.Drawing.Point(1158, 344); 1278 | this.label33.Name = "label33"; 1279 | this.label33.Size = new System.Drawing.Size(32, 13); 1280 | this.label33.TabIndex = 77; 1281 | this.label33.Text = "Btn 5"; 1282 | // 1283 | // txtButtonText5 1284 | // 1285 | this.txtButtonText5.Location = new System.Drawing.Point(1197, 341); 1286 | this.txtButtonText5.Name = "txtButtonText5"; 1287 | this.txtButtonText5.Size = new System.Drawing.Size(188, 20); 1288 | this.txtButtonText5.TabIndex = 76; 1289 | // 1290 | // Form1 1291 | // 1292 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 1293 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 1294 | this.ClientSize = new System.Drawing.Size(1775, 991); 1295 | this.Controls.Add(this.label33); 1296 | this.Controls.Add(this.txtButtonText5); 1297 | this.Controls.Add(this.label32); 1298 | this.Controls.Add(this.txtButtonText4); 1299 | this.Controls.Add(this.label31); 1300 | this.Controls.Add(this.txtButtonText3); 1301 | this.Controls.Add(this.label30); 1302 | this.Controls.Add(this.txtButtonText2); 1303 | this.Controls.Add(this.label29); 1304 | this.Controls.Add(this.txtButtonText1); 1305 | this.Controls.Add(this.btnDisplayButtons); 1306 | this.Controls.Add(this.btnTerm_IP_TCP_Connect); 1307 | this.Controls.Add(this.txtTermTCPPort); 1308 | this.Controls.Add(this.label28); 1309 | this.Controls.Add(this.txtTermIPHostname); 1310 | this.Controls.Add(this.label5); 1311 | this.Controls.Add(this.btnTwintPurchase); 1312 | this.Controls.Add(this.btnPurchaseAutoCycle); 1313 | this.Controls.Add(this.btnHideText); 1314 | this.Controls.Add(this.btnIsWaitingForCard); 1315 | this.Controls.Add(this.btnDisplayText); 1316 | this.Controls.Add(this.txtDispalyTextTimeout); 1317 | this.Controls.Add(this.label27); 1318 | this.Controls.Add(this.cmbDispalyTextRow5Align); 1319 | this.Controls.Add(this.cmbDispalyTextRow4Align); 1320 | this.Controls.Add(this.cmbDispalyTextRow3Align); 1321 | this.Controls.Add(this.cmbDispalyTextRow2Align); 1322 | this.Controls.Add(this.cmbDispalyTextRow1Align); 1323 | this.Controls.Add(this.label26); 1324 | this.Controls.Add(this.label25); 1325 | this.Controls.Add(this.label24); 1326 | this.Controls.Add(this.label23); 1327 | this.Controls.Add(this.label22); 1328 | this.Controls.Add(this.txtDispalyTextRow5); 1329 | this.Controls.Add(this.txtDispalyTextRow4); 1330 | this.Controls.Add(this.txtDispalyTextRow3); 1331 | this.Controls.Add(this.txtDispalyTextRow2); 1332 | this.Controls.Add(this.txtDispalyTextRow1); 1333 | this.Controls.Add(this.label21); 1334 | this.Controls.Add(this.chbVendingAutoCycleCompleteTransactions); 1335 | this.Controls.Add(this.btnVendingAutoCycle); 1336 | this.Controls.Add(this.btnDisconnect); 1337 | this.Controls.Add(this.chkVendingShowAmount); 1338 | this.Controls.Add(this.btnCashAdvance); 1339 | this.Controls.Add(this.btnStopWaitingCard); 1340 | this.Controls.Add(this.btnCheckForCRR); 1341 | this.Controls.Add(this.fixedPinpadCb); 1342 | this.Controls.Add(this.txtBeepDuration); 1343 | this.Controls.Add(this.cmbBeepTone); 1344 | this.Controls.Add(this.label20); 1345 | this.Controls.Add(this.label19); 1346 | this.Controls.Add(this.btnBeep); 1347 | this.Controls.Add(this.chkWriteLog); 1348 | this.Controls.Add(this.btnClearLog); 1349 | this.Controls.Add(this.btnVendingCancel); 1350 | this.Controls.Add(this.btnVendingComplete); 1351 | this.Controls.Add(this.btnVendingStop); 1352 | this.Controls.Add(this.btnVendingPurchase); 1353 | this.Controls.Add(this.btnSendLog); 1354 | this.Controls.Add(this.cmbLanguage); 1355 | this.Controls.Add(this.btnPurchase); 1356 | this.Controls.Add(this.btnCheckBalance); 1357 | this.Controls.Add(this.btnGiftDeactivation); 1358 | this.Controls.Add(this.btnGiftActivation); 1359 | this.Controls.Add(this.btnOpenSettings); 1360 | this.Controls.Add(this.btnReboot); 1361 | this.Controls.Add(this.btnMotoPreauth); 1362 | this.Controls.Add(this.btnOriginalCredit); 1363 | this.Controls.Add(this.btnCheckCard); 1364 | this.Controls.Add(this.btnMotoRefund); 1365 | this.Controls.Add(this.btnPaymentRequest); 1366 | this.Controls.Add(this.btnMotoPurchase); 1367 | this.Controls.Add(this.btnPreauthCancel); 1368 | this.Controls.Add(this.btnPreauthComplete); 1369 | this.Controls.Add(this.btnPreauth); 1370 | this.Controls.Add(this.btnPrintExternalUTF8); 1371 | this.Controls.Add(this.btnPrintExternal); 1372 | this.Controls.Add(this.txtPrintData); 1373 | this.Controls.Add(this.txtPassword); 1374 | this.Controls.Add(this.txtOperatorCode); 1375 | this.Controls.Add(this.txtDays); 1376 | this.Controls.Add(this.txtReason); 1377 | this.Controls.Add(this.txtRecipient); 1378 | this.Controls.Add(this.txtEMail); 1379 | this.Controls.Add(this.txtGSM); 1380 | this.Controls.Add(this.txtReferenceNumber); 1381 | this.Controls.Add(this.label17); 1382 | this.Controls.Add(this.label18); 1383 | this.Controls.Add(this.label13); 1384 | this.Controls.Add(this.label16); 1385 | this.Controls.Add(this.txtExpiryDate); 1386 | this.Controls.Add(this.label15); 1387 | this.Controls.Add(this.label12); 1388 | this.Controls.Add(this.label14); 1389 | this.Controls.Add(this.txtPan); 1390 | this.Controls.Add(this.label11); 1391 | this.Controls.Add(this.txtPreauthCode); 1392 | this.Controls.Add(this.label8); 1393 | this.Controls.Add(this.label7); 1394 | this.Controls.Add(this.label6); 1395 | this.Controls.Add(this.label10); 1396 | this.Controls.Add(this.label4); 1397 | this.Controls.Add(this.btnReprint); 1398 | this.Controls.Add(this.btnPing); 1399 | this.Controls.Add(this.btnDeactivate); 1400 | this.Controls.Add(this.btnActivate); 1401 | this.Controls.Add(this.btnReversal); 1402 | this.Controls.Add(this.btnRefund); 1403 | this.Controls.Add(this.cmbReferenceType); 1404 | this.Controls.Add(this.cmbReceiptMode); 1405 | this.Controls.Add(this.cmbCurrency); 1406 | this.Controls.Add(this.txtTipAmount); 1407 | this.Controls.Add(this.txtAmount); 1408 | this.Controls.Add(this.label9); 1409 | this.Controls.Add(this.label3); 1410 | this.Controls.Add(this.label2); 1411 | this.Controls.Add(this.label1); 1412 | this.Controls.Add(this.btnUpdate); 1413 | this.Controls.Add(this.btnGetStatus); 1414 | this.Controls.Add(this.btnAbort); 1415 | this.Controls.Add(this.txtLog); 1416 | this.Controls.Add(this.btnConnect); 1417 | this.Controls.Add(this.btnRefresh); 1418 | this.Controls.Add(this.cmbComPorts); 1419 | this.Name = "Form1"; 1420 | this.Text = "Test Form"; 1421 | this.Load += new System.EventHandler(this.Form1_Load); 1422 | this.ResumeLayout(false); 1423 | this.PerformLayout(); 1424 | 1425 | } 1426 | 1427 | #endregion 1428 | 1429 | private System.Windows.Forms.ComboBox cmbComPorts; 1430 | private System.Windows.Forms.Button btnRefresh; 1431 | private System.Windows.Forms.Button btnConnect; 1432 | private System.Windows.Forms.TextBox txtLog; 1433 | private System.Windows.Forms.Button btnAbort; 1434 | private System.Windows.Forms.Button btnGetStatus; 1435 | private System.Windows.Forms.Button btnUpdate; 1436 | private System.Windows.Forms.Label label1; 1437 | private System.Windows.Forms.Label label2; 1438 | private System.Windows.Forms.Label label3; 1439 | private System.Windows.Forms.TextBox txtAmount; 1440 | private System.Windows.Forms.ComboBox cmbCurrency; 1441 | private System.Windows.Forms.Button btnRefund; 1442 | private System.Windows.Forms.Button btnReversal; 1443 | private System.Windows.Forms.Button btnActivate; 1444 | private System.Windows.Forms.Button btnDeactivate; 1445 | private System.Windows.Forms.Button btnReprint; 1446 | private System.Windows.Forms.Label label4; 1447 | private System.Windows.Forms.ComboBox cmbReceiptMode; 1448 | private System.Windows.Forms.TextBox txtPrintData; 1449 | private System.Windows.Forms.Button btnPrintExternal; 1450 | private System.Windows.Forms.Button btnPreauth; 1451 | private System.Windows.Forms.TextBox txtPreauthCode; 1452 | private System.Windows.Forms.Label label6; 1453 | private System.Windows.Forms.Button btnPreauthComplete; 1454 | private System.Windows.Forms.Button btnPreauthCancel; 1455 | private System.Windows.Forms.Label label7; 1456 | private System.Windows.Forms.Label label8; 1457 | private System.Windows.Forms.TextBox txtPan; 1458 | private System.Windows.Forms.TextBox txtExpiryDate; 1459 | private System.Windows.Forms.Button btnMotoPurchase; 1460 | private System.Windows.Forms.Button btnMotoRefund; 1461 | private System.Windows.Forms.Button btnMotoPreauth; 1462 | private System.Windows.Forms.Button btnPing; 1463 | private System.Windows.Forms.Button btnReboot; 1464 | private System.Windows.Forms.Button btnGiftActivation; 1465 | private System.Windows.Forms.Button btnGiftDeactivation; 1466 | private System.Windows.Forms.Button btnCheckBalance; 1467 | private System.Windows.Forms.Label label9; 1468 | private System.Windows.Forms.TextBox txtTipAmount; 1469 | private System.Windows.Forms.ComboBox cmbReferenceType; 1470 | private System.Windows.Forms.Label label10; 1471 | private System.Windows.Forms.Label label11; 1472 | private System.Windows.Forms.TextBox txtReferenceNumber; 1473 | private System.Windows.Forms.Button btnPurchase; 1474 | private System.Windows.Forms.Label label12; 1475 | private System.Windows.Forms.TextBox txtOperatorCode; 1476 | private System.Windows.Forms.Label label13; 1477 | private System.Windows.Forms.TextBox txtPassword; 1478 | private System.Windows.Forms.Label label14; 1479 | private System.Windows.Forms.TextBox txtGSM; 1480 | private System.Windows.Forms.Label label15; 1481 | private System.Windows.Forms.TextBox txtEMail; 1482 | private System.Windows.Forms.Label label16; 1483 | private System.Windows.Forms.TextBox txtRecipient; 1484 | private System.Windows.Forms.Label label17; 1485 | private System.Windows.Forms.TextBox txtDays; 1486 | private System.Windows.Forms.Button btnPaymentRequest; 1487 | private System.Windows.Forms.Label label18; 1488 | private System.Windows.Forms.TextBox txtReason; 1489 | private System.Windows.Forms.ComboBox cmbLanguage; 1490 | private System.Windows.Forms.Button btnCheckCard; 1491 | private System.Windows.Forms.Button btnOriginalCredit; 1492 | private System.Windows.Forms.Button btnSendLog; 1493 | private System.Windows.Forms.Button btnVendingPurchase; 1494 | private System.Windows.Forms.Button btnVendingStop; 1495 | private System.Windows.Forms.Button btnClearLog; 1496 | private System.Windows.Forms.CheckBox chkWriteLog; 1497 | private System.Windows.Forms.Button btnBeep; 1498 | private System.Windows.Forms.Label label19; 1499 | private System.Windows.Forms.Label label20; 1500 | private System.Windows.Forms.ComboBox cmbBeepTone; 1501 | private System.Windows.Forms.TextBox txtBeepDuration; 1502 | private System.Windows.Forms.Button btnVendingComplete; 1503 | private System.Windows.Forms.Button btnVendingCancel; 1504 | private System.Windows.Forms.Button btnOpenSettings; 1505 | private System.Windows.Forms.CheckBox fixedPinpadCb; 1506 | private System.Windows.Forms.Button btnCheckForCRR; 1507 | private System.Windows.Forms.Button btnStopWaitingCard; 1508 | private System.Windows.Forms.Button btnCashAdvance; 1509 | private System.Windows.Forms.Button btnPrintExternalUTF8; 1510 | private System.Windows.Forms.CheckBox chkVendingShowAmount; 1511 | private System.Windows.Forms.Button btnDisconnect; 1512 | private System.Windows.Forms.Button btnVendingAutoCycle; 1513 | private System.Windows.Forms.CheckBox chbVendingAutoCycleCompleteTransactions; 1514 | private System.Windows.Forms.Label label21; 1515 | private System.Windows.Forms.TextBox txtDispalyTextRow1; 1516 | private System.Windows.Forms.TextBox txtDispalyTextRow2; 1517 | private System.Windows.Forms.TextBox txtDispalyTextRow3; 1518 | private System.Windows.Forms.TextBox txtDispalyTextRow4; 1519 | private System.Windows.Forms.TextBox txtDispalyTextRow5; 1520 | private System.Windows.Forms.Label label22; 1521 | private System.Windows.Forms.Label label23; 1522 | private System.Windows.Forms.Label label24; 1523 | private System.Windows.Forms.Label label25; 1524 | private System.Windows.Forms.Label label26; 1525 | private System.Windows.Forms.ComboBox cmbDispalyTextRow1Align; 1526 | private System.Windows.Forms.ComboBox cmbDispalyTextRow2Align; 1527 | private System.Windows.Forms.ComboBox cmbDispalyTextRow3Align; 1528 | private System.Windows.Forms.ComboBox cmbDispalyTextRow4Align; 1529 | private System.Windows.Forms.ComboBox cmbDispalyTextRow5Align; 1530 | private System.Windows.Forms.Label label27; 1531 | private System.Windows.Forms.TextBox txtDispalyTextTimeout; 1532 | private System.Windows.Forms.Button btnDisplayText; 1533 | private System.Windows.Forms.Button btnIsWaitingForCard; 1534 | private System.Windows.Forms.Button btnHideText; 1535 | private System.Windows.Forms.Button btnPurchaseAutoCycle; 1536 | private System.Windows.Forms.Button btnTwintPurchase; 1537 | private System.Windows.Forms.Label label5; 1538 | private System.Windows.Forms.TextBox txtTermIPHostname; 1539 | private System.Windows.Forms.Label label28; 1540 | private System.Windows.Forms.TextBox txtTermTCPPort; 1541 | private System.Windows.Forms.Button btnTerm_IP_TCP_Connect; 1542 | private System.Windows.Forms.Button btnDisplayButtons; 1543 | private System.Windows.Forms.Label label29; 1544 | private System.Windows.Forms.TextBox txtButtonText1; 1545 | private System.Windows.Forms.Label label30; 1546 | private System.Windows.Forms.TextBox txtButtonText2; 1547 | private System.Windows.Forms.Label label31; 1548 | private System.Windows.Forms.TextBox txtButtonText3; 1549 | private System.Windows.Forms.Label label32; 1550 | private System.Windows.Forms.TextBox txtButtonText4; 1551 | private System.Windows.Forms.Label label33; 1552 | private System.Windows.Forms.TextBox txtButtonText5; 1553 | } 1554 | } 1555 | 1556 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Form1.cs: -------------------------------------------------------------------------------- 1 | using myPOS; 2 | using System; 3 | using System.Globalization; 4 | using System.IO.Ports; 5 | using System.Reflection; 6 | using System.Text; 7 | using System.Windows.Forms; 8 | using System.Text.RegularExpressions; 9 | using System.Threading; 10 | using System.Net.Sockets; 11 | 12 | namespace myPOSDemoApp 13 | { 14 | public partial class Form1 : Form 15 | { 16 | double Amount; 17 | Currencies cur; 18 | String PAN = ""; 19 | String ExpiryDate = ""; 20 | String strPreauthCode = ""; 21 | Version version = Assembly.GetEntryAssembly().GetName().Version; 22 | 23 | 24 | private bool bVendingAutoCycleIsRunning = false; 25 | private bool bVendingAutoCycleStopRequested = false; 26 | private Thread thVendingAutoCycleThread; 27 | private Semaphore semVendingAutoCycleWaitResult; 28 | 29 | 30 | TcpClient tcpClientTerminal = null; 31 | 32 | 33 | myPOSTerminal t = new myPOSTerminal(); 34 | public Form1() 35 | { 36 | InitializeComponent(); 37 | 38 | t.ProcessingFinished += ProcessResult; 39 | t.Log += AddDebugLog; 40 | t.onPresentCard += _PresentCard; 41 | t.onCardDetected += _CardDetected; 42 | t.onPresentPin += _PresentPin; 43 | t.onPinEntered += _PinEntered; 44 | t.onPresentDCC += _PresentDCC; 45 | t.onDCCSelected += _DCCSelected; 46 | t.onApprovalGetReceiptData += _ReceiptReceiver; 47 | t.SetLanguage(Language.English); 48 | t.SetCOMTimeout(3000); 49 | t.isFixedPinpad = true; 50 | } 51 | 52 | private void Form1_Load(object sender, EventArgs e) 53 | { 54 | RefreshComPorts(); 55 | cmbCurrency.DataSource = Enum.GetValues(typeof(Currencies)); 56 | cmbCurrency.SelectedItem = Currencies.EUR; 57 | cmbReceiptMode.DataSource = Enum.GetValues(typeof(ReceiptMode)); 58 | cmbReceiptMode.SelectedItem = ReceiptMode.NotConfugred; 59 | cmbReferenceType.DataSource = Enum.GetValues(typeof(ReferenceNumberType)); 60 | cmbReferenceType.SelectedItem = ReferenceNumberType.None; 61 | 62 | cmbLanguage.DataSource = Enum.GetValues(typeof(Language)); 63 | cmbLanguage.SelectedItem = Language.English; 64 | 65 | cmbBeepTone.DataSource = Enum.GetValues(typeof(BeepTone)); 66 | 67 | cmbDispalyTextRow1Align.DataSource = Enum.GetValues(typeof(DispalyTextRowAlign)); 68 | cmbDispalyTextRow1Align.SelectedItem = DispalyTextRowAlign.Center; 69 | cmbDispalyTextRow2Align.DataSource = Enum.GetValues(typeof(DispalyTextRowAlign)); 70 | cmbDispalyTextRow2Align.SelectedItem = DispalyTextRowAlign.Center; 71 | cmbDispalyTextRow3Align.DataSource = Enum.GetValues(typeof(DispalyTextRowAlign)); 72 | cmbDispalyTextRow3Align.SelectedItem = DispalyTextRowAlign.Center; 73 | cmbDispalyTextRow4Align.DataSource = Enum.GetValues(typeof(DispalyTextRowAlign)); 74 | cmbDispalyTextRow4Align.SelectedItem = DispalyTextRowAlign.Center; 75 | cmbDispalyTextRow5Align.DataSource = Enum.GetValues(typeof(DispalyTextRowAlign)); 76 | cmbDispalyTextRow5Align.SelectedItem = DispalyTextRowAlign.Center; 77 | 78 | this.Text = "myPOSDemoApp Version " + version.ToString(); 79 | AddLog("myPOSDemoApp Version: " + version.ToString()); 80 | } 81 | 82 | private void btnRefresh_Click(object sender, EventArgs e) 83 | { 84 | RefreshComPorts(); 85 | } 86 | 87 | void RefreshComPorts() 88 | { 89 | cmbComPorts.Items.Clear(); 90 | cmbComPorts.Items.AddRange(SerialPort.GetPortNames()); 91 | cmbComPorts.SelectedIndex = -1; 92 | cmbComPorts.ResetText(); 93 | } 94 | 95 | protected void ProcessResult(ProcessingResult r) 96 | { 97 | StringBuilder sb = new StringBuilder(); 98 | sb.AppendFormat("Processing \"{0}\" finished\r\n", r.Method.ToString()); 99 | sb.AppendFormat("Request Status: \"{0}\"\r\n", r.CommunicationStatus.ToString()); 100 | sb.AppendFormat("Terminal Status: \"{0}\"\r\n", r.Status.ToString()); 101 | 102 | if (r.TranData != null) 103 | { 104 | sb.AppendFormat("\r\nTransaction data:\r\n"); 105 | sb.AppendFormat("Type: {0}\r\n", r.TranData.Type); 106 | sb.AppendFormat("Amount: {0}\r\n", r.TranData.Amount); 107 | sb.AppendFormat("Tip Amount: {0}\r\n", r.TranData.TipAmount); 108 | sb.AppendFormat("Currency: {0}\r\n", r.TranData.Currency.ToString()); 109 | sb.AppendFormat("Approval: {0}\r\n", r.TranData.Approval); 110 | sb.AppendFormat("Auth code: {0}\r\n", r.TranData.AuthCode); 111 | sb.AppendFormat("Preauth Code: {0}\r\n", r.TranData.PreauthCode); 112 | sb.AppendFormat("RRN: {0}\r\n", r.TranData.RRN); 113 | sb.AppendFormat("Date: {0}\r\n", r.TranData.TransactionDate.ToString("dd.MM.yyyy")); 114 | sb.AppendFormat("Time: {0}\r\n", r.TranData.TransactionDate.ToString("HH:mm:ss")); 115 | sb.AppendFormat("Terminal ID: {0}\r\n", r.TranData.TerminalID); 116 | sb.AppendFormat("Merchant ID: {0}\r\n", r.TranData.MerchantID); 117 | sb.AppendFormat("Merchant Name: {0}\r\n", r.TranData.MerchantName); 118 | sb.AppendFormat("Merchant Address Line 1: {0}\r\n", r.TranData.MerchantAddressLine1); 119 | sb.AppendFormat("Merchant Address Line 2: {0}\r\n", r.TranData.MerchantAddressLine2); 120 | sb.AppendFormat("PAN Masked: {0}\r\n", r.TranData.PANMasked); 121 | sb.AppendFormat("Emboss Name: {0}\r\n", r.TranData.EmbossName); 122 | sb.AppendFormat("AID: {0}\r\n", r.TranData.AID); 123 | sb.AppendFormat("AID Name: {0}\r\n", r.TranData.AIDName); 124 | sb.AppendFormat("AID Preferred Name: {0}\r\n", r.TranData.ApplicationPreferredName); 125 | sb.AppendFormat("STAN: {0}\r\n", r.TranData.Stan); 126 | sb.AppendFormat("Signature Required: {0}\r\n", r.TranData.SignatureRequired ? "Yes" : "No"); 127 | sb.AppendFormat("Software Version: {0}\r\n", r.TranData.SoftwareVersion); 128 | } 129 | 130 | AddLog(sb.ToString()); 131 | 132 | if (bVendingAutoCycleIsRunning) 133 | { 134 | semVendingAutoCycleWaitResult.Release(1); 135 | return; 136 | } 137 | 138 | MessageBox.Show(sb.ToString()); 139 | } 140 | 141 | delegate void AddLogDelegate(string msg); 142 | protected void AddLog(string msg) 143 | { 144 | if (txtLog.InvokeRequired) 145 | { 146 | object[] p = new object[1]; 147 | p[0] = msg; 148 | txtLog.Invoke(new AddLogDelegate(AddLog), p); 149 | return; 150 | } 151 | 152 | try 153 | { 154 | txtLog.AppendText(msg + "\r\n"); 155 | 156 | var indexOfCurrency = msg.IndexOf("CURRENCY_NAME="); 157 | 158 | if (indexOfCurrency != -1) 159 | { 160 | var indexOfComboBoxCurrency = cmbCurrency.Items.IndexOf(Enum.Parse(typeof(Currencies), msg.Substring(indexOfCurrency + "CURRENCY_NAME=".Length, 3))); 161 | 162 | if (indexOfComboBoxCurrency != -1) 163 | { 164 | cmbCurrency.SelectedIndex = indexOfComboBoxCurrency; 165 | } 166 | } 167 | } 168 | catch { } 169 | } 170 | 171 | void AddDebugLog(string msg) 172 | { 173 | if (!chkWriteLog.Checked) return; 174 | AddLog(msg); 175 | } 176 | 177 | void _PresentCard() 178 | { 179 | AddLog("Present card"); 180 | } 181 | 182 | void _CardDetected(bool is_wrong_card) 183 | { 184 | if (!is_wrong_card) 185 | { 186 | AddLog("Card detected"); 187 | } 188 | else 189 | { 190 | AddLog("Bad card detected"); 191 | } 192 | } 193 | 194 | void _PresentPin(int pin_tries_left) 195 | { 196 | if (pin_tries_left == 0) 197 | { 198 | AddLog("Present online pin"); 199 | } 200 | else 201 | { 202 | AddLog(String.Format("Present offline pin. Tries left: {0}", pin_tries_left)); 203 | } 204 | } 205 | 206 | void _PinEntered(bool is_wrong_pin, int pin_tries_left) 207 | { 208 | if (is_wrong_pin == false) 209 | { 210 | AddLog("PIN entered"); 211 | } 212 | else 213 | { 214 | AddLog(String.Format("Wrong PIN entered. Tries left: {0}", pin_tries_left)); 215 | } 216 | } 217 | 218 | void _PresentDCC(DCCRequest dcc_req) 219 | { 220 | AddLog("Present DCC"); 221 | AddLog(String.Format("{0} {1}", dcc_req.OriginalAmount, dcc_req.OriginalCurrencyName)); 222 | AddLog(String.Format("{0} {1}", dcc_req.DCCAmount, dcc_req.DCCCurrencyName)); 223 | AddLog(String.Format("1 {0} = {1} {2}", dcc_req.OriginalCurrencyName, dcc_req.DCCExchangeRate, dcc_req.DCCCurrencyName)); 224 | } 225 | 226 | void _DCCSelected(bool is_dcc_used) 227 | { 228 | if (is_dcc_used) 229 | { 230 | AddLog("DCC used"); 231 | } 232 | else 233 | { 234 | AddLog("No DCC used"); 235 | } 236 | } 237 | 238 | string _ReceiptReceiver() 239 | { 240 | string result = ""; 241 | if (bVendingAutoCycleIsRunning) 242 | { 243 | return result; 244 | } 245 | 246 | ReceiptReceiverForm formEntry = new ReceiptReceiverForm(); 247 | if (formEntry.ShowDialog() == DialogResult.OK) 248 | { 249 | result = formEntry.txtResult.Text; 250 | } 251 | return result; 252 | } 253 | 254 | private bool ParseAmount() 255 | { 256 | string amt = txtAmount.Text; 257 | amt = amt.Replace(",", "."); 258 | return Double.TryParse(amt, NumberStyles.Number, CultureInfo.InvariantCulture, out Amount); 259 | } 260 | 261 | private bool ParseCurrency() 262 | { 263 | cur = (Currencies)cmbCurrency.SelectedItem; 264 | return true; 265 | } 266 | 267 | private bool ParseMoTo() 268 | { 269 | PAN = txtPan.Text; 270 | ExpiryDate = txtExpiryDate.Text; 271 | return PAN.Length > 0; 272 | } 273 | 274 | private bool ParsePreauthCode() 275 | { 276 | strPreauthCode = txtPreauthCode.Text; 277 | Match match = Regex.Match(strPreauthCode, @"[0-9]{6}"); 278 | return match.Success; 279 | } 280 | 281 | private void btnConnect_Click(object sender, EventArgs e) 282 | { 283 | if (cmbComPorts.Text == String.Empty) return; 284 | 285 | t.Initialize(cmbComPorts.Text); 286 | } 287 | 288 | private void btnDisconnect_Click(object sender, EventArgs e) 289 | { 290 | t.Disconnect(); 291 | 292 | if (tcpClientTerminal != null) 293 | { 294 | tcpClientTerminal.Close(); 295 | tcpClientTerminal = null; 296 | } 297 | } 298 | 299 | private void btnAbort_Click(object sender, EventArgs e) 300 | { 301 | t.AbortOperation(); 302 | } 303 | 304 | private void btnGetStatus_Click(object sender, EventArgs e) 305 | { 306 | RequestResult r = t.GetStatus(); 307 | switch (r) 308 | { 309 | case RequestResult.Busy: 310 | case RequestResult.InvalidParams: 311 | case RequestResult.NotInitialized: 312 | MessageBox.Show("RequestResult: " + r.ToString()); 313 | break; 314 | default: break; 315 | } 316 | } 317 | 318 | private void btnPurchase_Click(object sender, EventArgs e) 319 | { 320 | double Tip = 0; 321 | Double.TryParse(txtTipAmount.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out Tip); 322 | 323 | if (!ParseAmount() || !ParseCurrency()) 324 | { 325 | MessageBox.Show("Invalid input"); 326 | } 327 | else 328 | { 329 | RequestResult r = t.Purchase(Amount, Tip, cur, (ReferenceNumberType)cmbReferenceType.SelectedItem, txtReferenceNumber.Text, txtOperatorCode.Text); 330 | switch (r) 331 | { 332 | case RequestResult.Busy: 333 | case RequestResult.InvalidParams: 334 | case RequestResult.NotInitialized: 335 | MessageBox.Show("RequestResult: " + r.ToString()); 336 | break; 337 | default: break; 338 | } 339 | } 340 | } 341 | 342 | private void btnRefund_Click(object sender, EventArgs e) 343 | { 344 | if (!ParseAmount() || !ParseCurrency()) 345 | { 346 | MessageBox.Show("Invalid input"); 347 | } 348 | else 349 | { 350 | t.SetPassword(txtPassword.Text); 351 | RequestResult r = t.Refund(Amount, cur, String.Empty); 352 | switch (r) 353 | { 354 | case RequestResult.Busy: 355 | case RequestResult.InvalidParams: 356 | case RequestResult.NotInitialized: 357 | MessageBox.Show("RequestResult: " + r.ToString()); 358 | break; 359 | default: break; 360 | } 361 | } 362 | } 363 | 364 | private void btnUpdate_Click(object sender, EventArgs e) 365 | { 366 | RequestResult r = t.Update(); 367 | switch (r) 368 | { 369 | case RequestResult.Busy: 370 | case RequestResult.InvalidParams: 371 | case RequestResult.NotInitialized: 372 | MessageBox.Show("RequestResult: " + r.ToString()); 373 | break; 374 | default: break; 375 | } 376 | } 377 | 378 | private void btnReversal_Click(object sender, EventArgs e) 379 | { 380 | t.SetPassword(txtPassword.Text); 381 | RequestResult r = t.Reversal(String.Empty); 382 | switch (r) 383 | { 384 | case RequestResult.Busy: 385 | case RequestResult.InvalidParams: 386 | case RequestResult.NotInitialized: 387 | MessageBox.Show("RequestResult: " + r.ToString()); 388 | break; 389 | default: break; 390 | } 391 | } 392 | 393 | private void btnActivate_Click(object sender, EventArgs e) 394 | { 395 | RequestResult r = t.Activate(); 396 | switch (r) 397 | { 398 | case RequestResult.Busy: 399 | case RequestResult.InvalidParams: 400 | case RequestResult.NotInitialized: 401 | MessageBox.Show("RequestResult: " + r.ToString()); 402 | break; 403 | default: break; 404 | } 405 | } 406 | 407 | private void btnDeactivate_Click(object sender, EventArgs e) 408 | { 409 | RequestResult r = t.Deactivate(); 410 | switch (r) 411 | { 412 | case RequestResult.Busy: 413 | case RequestResult.InvalidParams: 414 | case RequestResult.NotInitialized: 415 | MessageBox.Show("RequestResult: " + r.ToString()); 416 | break; 417 | default: break; 418 | } 419 | } 420 | 421 | private void btnReprint_Click(object sender, EventArgs e) 422 | { 423 | RequestResult r = t.ReprintReceipt(); 424 | switch (r) 425 | { 426 | case RequestResult.Busy: 427 | case RequestResult.InvalidParams: 428 | case RequestResult.NotInitialized: 429 | MessageBox.Show("RequestResult: " + r.ToString()); 430 | break; 431 | default: break; 432 | } 433 | } 434 | 435 | private void cmbCurrency_SelectedIndexChanged(object sender, EventArgs e) 436 | { 437 | t.SetReceiptMode((ReceiptMode)cmbReceiptMode.SelectedItem); 438 | } 439 | 440 | private void btnPrintExternal_Click(object sender, EventArgs e) 441 | { 442 | t.PrintExternal(txtPrintData.Text); 443 | } 444 | 445 | private void btnPreauth_Click(object sender, EventArgs e) 446 | { 447 | double Tip = 0; 448 | Double.TryParse(txtTipAmount.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out Tip); 449 | 450 | if (!ParseAmount() || !ParseCurrency()) 451 | { 452 | MessageBox.Show("Invalid input"); 453 | } 454 | else 455 | { 456 | RequestResult r = t.Preauthorization(Amount, Tip, cur, (ReferenceNumberType)cmbReferenceType.SelectedItem, txtReferenceNumber.Text); 457 | switch (r) 458 | { 459 | case RequestResult.Busy: 460 | case RequestResult.InvalidParams: 461 | case RequestResult.NotInitialized: 462 | MessageBox.Show("RequestResult: " + r.ToString()); 463 | break; 464 | default: break; 465 | } 466 | } 467 | } 468 | 469 | private void btnPreauthComplete_Click(object sender, EventArgs e) 470 | { 471 | if (!ParseAmount() || !ParsePreauthCode()) 472 | { 473 | MessageBox.Show("Invalid input"); 474 | } 475 | else 476 | { 477 | RequestResult r = t.CompletePreauth(strPreauthCode, Amount); 478 | switch (r) 479 | { 480 | case RequestResult.Busy: 481 | case RequestResult.InvalidParams: 482 | case RequestResult.NotInitialized: 483 | MessageBox.Show("RequestResult: " + r.ToString()); 484 | break; 485 | default: break; 486 | } 487 | } 488 | } 489 | 490 | private void btnPreauthCancel_Click(object sender, EventArgs e) 491 | { 492 | if (!ParsePreauthCode()) 493 | { 494 | MessageBox.Show("Invalid input"); 495 | } 496 | else 497 | { 498 | RequestResult r = t.CancelPreauth(strPreauthCode); 499 | switch (r) 500 | { 501 | case RequestResult.Busy: 502 | case RequestResult.InvalidParams: 503 | case RequestResult.NotInitialized: 504 | MessageBox.Show("RequestResult: " + r.ToString()); 505 | break; 506 | default: break; 507 | } 508 | } 509 | } 510 | 511 | private void btnMotoPurchase_Click(object sender, EventArgs e) 512 | { 513 | double Tip = 0; 514 | Double.TryParse(txtTipAmount.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out Tip); 515 | 516 | if (!ParseAmount() || !ParseCurrency()) 517 | { 518 | MessageBox.Show("Invalid input"); 519 | } 520 | else 521 | { 522 | RequestResult r = t.MoToPurchase(Amount, Tip, cur, PAN, ExpiryDate, (ReferenceNumberType)cmbReferenceType.SelectedItem, txtReferenceNumber.Text, txtOperatorCode.Text); 523 | switch (r) 524 | { 525 | case RequestResult.Busy: 526 | case RequestResult.InvalidParams: 527 | case RequestResult.NotInitialized: 528 | MessageBox.Show("RequestResult: " + r.ToString()); 529 | break; 530 | default: break; 531 | } 532 | } 533 | } 534 | 535 | private void btnMotoRefund_Click(object sender, EventArgs e) 536 | { 537 | if (!ParseAmount() || !ParseCurrency() || !ParseMoTo()) 538 | { 539 | MessageBox.Show("Invalid input"); 540 | } 541 | else 542 | { 543 | t.SetPassword(txtPassword.Text); 544 | RequestResult r = t.MoToRefund(Amount, cur, PAN, ExpiryDate, String.Empty); 545 | switch (r) 546 | { 547 | case RequestResult.Busy: 548 | case RequestResult.InvalidParams: 549 | case RequestResult.NotInitialized: 550 | MessageBox.Show("RequestResult: " + r.ToString()); 551 | break; 552 | default: break; 553 | } 554 | } 555 | } 556 | 557 | private void btnMotoPreauth_Click(object sender, EventArgs e) 558 | { 559 | double Tip = 0; 560 | Double.TryParse(txtTipAmount.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out Tip); 561 | 562 | if (!ParseAmount() || !ParseCurrency()) 563 | { 564 | MessageBox.Show("Invalid input"); 565 | } 566 | else 567 | { 568 | RequestResult r = t.MoToPreauthorization(Amount, Tip, cur, PAN, ExpiryDate, (ReferenceNumberType)cmbReferenceType.SelectedItem, txtReferenceNumber.Text); 569 | switch (r) 570 | { 571 | case RequestResult.Busy: 572 | case RequestResult.InvalidParams: 573 | case RequestResult.NotInitialized: 574 | MessageBox.Show("RequestResult: " + r.ToString()); 575 | break; 576 | default: break; 577 | } 578 | } 579 | } 580 | 581 | private void btnPing_Click(object sender, EventArgs e) 582 | { 583 | RequestResult r = t.Ping(); 584 | switch (r) 585 | { 586 | case RequestResult.Busy: 587 | case RequestResult.InvalidParams: 588 | case RequestResult.NotInitialized: 589 | MessageBox.Show("RequestResult: " + r.ToString()); 590 | break; 591 | default: break; 592 | } 593 | } 594 | 595 | private void btnReboot_Click(object sender, EventArgs e) 596 | { 597 | RequestResult r = t.Reboot(); 598 | switch (r) 599 | { 600 | case RequestResult.Busy: 601 | case RequestResult.InvalidParams: 602 | case RequestResult.NotInitialized: 603 | MessageBox.Show("RequestResult: " + r.ToString()); 604 | break; 605 | default: break; 606 | } 607 | } 608 | 609 | private void btnGiftActivation_Click(object sender, EventArgs e) 610 | { 611 | if (!ParseAmount() || !ParseCurrency()) 612 | { 613 | MessageBox.Show("Invalid input"); 614 | } 615 | else 616 | { 617 | RequestResult r = t.GiftcardActivation(Amount, cur); 618 | switch (r) 619 | { 620 | case RequestResult.Busy: 621 | case RequestResult.InvalidParams: 622 | case RequestResult.NotInitialized: 623 | MessageBox.Show("RequestResult: " + r.ToString()); 624 | break; 625 | default: break; 626 | } 627 | } 628 | } 629 | 630 | private void btnGiftDeactivation_Click(object sender, EventArgs e) 631 | { 632 | RequestResult r = t.GiftcardDeactivation(); 633 | switch (r) 634 | { 635 | case RequestResult.Busy: 636 | case RequestResult.InvalidParams: 637 | case RequestResult.NotInitialized: 638 | MessageBox.Show("RequestResult: " + r.ToString()); 639 | break; 640 | default: break; 641 | } 642 | } 643 | 644 | private void btnCheckBalance_Click(object sender, EventArgs e) 645 | { 646 | RequestResult r = t.GiftcardCheckBalance(); 647 | switch (r) 648 | { 649 | case RequestResult.Busy: 650 | case RequestResult.InvalidParams: 651 | case RequestResult.NotInitialized: 652 | MessageBox.Show("RequestResult: " + r.ToString()); 653 | break; 654 | default: break; 655 | } 656 | } 657 | 658 | private void btnPaymentRequest_Click(object sender, EventArgs e) 659 | { 660 | int days = 0; 661 | Int32.TryParse(txtDays.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out days); 662 | 663 | if (!ParseAmount() || !ParseCurrency()) 664 | { 665 | MessageBox.Show("Invalid input"); 666 | } 667 | else 668 | { 669 | RequestResult r = t.SendPaymentRequest(Amount, cur, txtGSM.Text, txtEMail.Text, txtRecipient.Text, txtReason.Text, days); 670 | switch (r) 671 | { 672 | case RequestResult.Busy: 673 | case RequestResult.InvalidParams: 674 | case RequestResult.NotInitialized: 675 | MessageBox.Show("RequestResult: " + r.ToString()); 676 | break; 677 | default: break; 678 | } 679 | } 680 | } 681 | 682 | private void cmbLanguage_SelectedIndexChanged(object sender, EventArgs e) 683 | { 684 | t.SetLanguage((Language)cmbLanguage.SelectedItem); 685 | } 686 | 687 | private void btnCheckCard_Click(object sender, EventArgs e) 688 | { 689 | RequestResult r = t.CheckCard(); 690 | switch (r) 691 | { 692 | case RequestResult.Busy: 693 | case RequestResult.InvalidParams: 694 | case RequestResult.NotInitialized: 695 | MessageBox.Show("RequestResult: " + r.ToString()); 696 | break; 697 | default: break; 698 | } 699 | } 700 | 701 | private void btnOriginalCredit_Click(object sender, EventArgs e) 702 | { 703 | if (!ParseAmount() || !ParseCurrency()) 704 | { 705 | MessageBox.Show("Invalid input"); 706 | } 707 | else 708 | { 709 | RequestResult r = t.OriginalCredit(Amount, cur); 710 | switch (r) 711 | { 712 | case RequestResult.Busy: 713 | case RequestResult.InvalidParams: 714 | case RequestResult.NotInitialized: 715 | MessageBox.Show("RequestResult: " + r.ToString()); 716 | break; 717 | default: break; 718 | } 719 | } 720 | } 721 | 722 | private void btnSendLog_Click(object sender, EventArgs e) 723 | { 724 | RequestResult r = t.SendLog(); 725 | switch (r) 726 | { 727 | case RequestResult.Busy: 728 | case RequestResult.InvalidParams: 729 | case RequestResult.NotInitialized: 730 | MessageBox.Show("RequestResult: " + r.ToString()); 731 | break; 732 | default: break; 733 | } 734 | } 735 | 736 | private void btnVendingPurchase_Click(object sender, EventArgs e) 737 | { 738 | if (!ParseAmount() || !ParseCurrency()) 739 | { 740 | MessageBox.Show("Invalid input"); 741 | } 742 | else 743 | { 744 | RequestResult r = t.VendingPurchase(Amount, cur, chkVendingShowAmount.Checked); 745 | switch (r) 746 | { 747 | case RequestResult.Busy: 748 | case RequestResult.InvalidParams: 749 | case RequestResult.NotInitialized: 750 | MessageBox.Show("RequestResult: " + r.ToString()); 751 | break; 752 | default: break; 753 | } 754 | } 755 | } 756 | 757 | private void btnVendingStop_Click(object sender, EventArgs e) 758 | { 759 | RequestResult r = t.VendingStop(); 760 | switch (r) 761 | { 762 | case RequestResult.Busy: 763 | case RequestResult.InvalidParams: 764 | case RequestResult.NotInitialized: 765 | MessageBox.Show("RequestResult: " + r.ToString()); 766 | break; 767 | default: break; 768 | } 769 | } 770 | 771 | private void btnVendingComplete_Click(object sender, EventArgs e) 772 | { 773 | 774 | if (!ParseAmount() || !ParseCurrency()) 775 | { 776 | MessageBox.Show("Invalid input"); 777 | } 778 | else 779 | { 780 | RequestResult r = t.VendingComplete(Amount, cur); 781 | switch (r) 782 | { 783 | case RequestResult.Busy: 784 | case RequestResult.InvalidParams: 785 | case RequestResult.NotInitialized: 786 | MessageBox.Show("RequestResult: " + r.ToString()); 787 | break; 788 | default: break; 789 | } 790 | } 791 | } 792 | 793 | private void btnVendingCancel_Click(object sender, EventArgs e) 794 | { 795 | RequestResult r = t.VendingCancel(); 796 | switch (r) 797 | { 798 | case RequestResult.Busy: 799 | case RequestResult.InvalidParams: 800 | case RequestResult.NotInitialized: 801 | MessageBox.Show("RequestResult: " + r.ToString()); 802 | break; 803 | default: break; 804 | } 805 | } 806 | 807 | private void btnClearLog_Click(object sender, EventArgs e) 808 | { 809 | txtLog.Text = ""; 810 | } 811 | 812 | private void btnBeep_Click(object sender, EventArgs e) 813 | { 814 | BeepTone tone = BeepTone.Tone_1680_Hz; 815 | int duration = 0; 816 | if (!(cmbBeepTone.SelectedItem is null)) 817 | { 818 | tone = (BeepTone)cmbBeepTone.SelectedValue; 819 | } 820 | Int32.TryParse(txtBeepDuration.Text, out duration); 821 | 822 | t.Beep(tone, duration); 823 | } 824 | 825 | private void btnOpenSettings_Click(object sender, EventArgs e) 826 | { 827 | t.OpenSettings(); 828 | } 829 | 830 | private void fixedPinpadCb_CheckedChanged(object sender, EventArgs e) 831 | { 832 | t.isFixedPinpad = !t.isFixedPinpad; 833 | } 834 | 835 | private void btnCheckForCRR_Click(object sender, EventArgs e) 836 | { 837 | t.CheckForCRRTransaction(); 838 | } 839 | 840 | private void btnStopWaitingCard_Click(object sender, EventArgs e) 841 | { 842 | RequestResult r = t.StopWaitingForCard(); 843 | switch (r) 844 | { 845 | case RequestResult.Busy: 846 | case RequestResult.InvalidParams: 847 | case RequestResult.NotInitialized: 848 | MessageBox.Show("RequestResult: " + r.ToString()); 849 | break; 850 | default: break; 851 | } 852 | } 853 | 854 | private void btnCashAdvance_Click(object sender, EventArgs e) 855 | { 856 | if (!ParseAmount() || !ParseCurrency()) 857 | { 858 | MessageBox.Show("Invalid input"); 859 | } 860 | else 861 | { 862 | t.SetPassword(txtPassword.Text); 863 | RequestResult r = t.CashAdvance(Amount, cur); 864 | switch (r) 865 | { 866 | case RequestResult.Busy: 867 | case RequestResult.InvalidParams: 868 | case RequestResult.NotInitialized: 869 | MessageBox.Show("RequestResult: " + r.ToString()); 870 | break; 871 | default: break; 872 | } 873 | } 874 | } 875 | 876 | private void btnPrintExternalUTF8_Click(object sender, EventArgs e) 877 | { 878 | t.PrintExternalUTF8(txtPrintData.Text); 879 | } 880 | 881 | private void VendingAutoCycle() 882 | { 883 | RequestResult r; 884 | bVendingAutoCycleStopRequested = false; 885 | semVendingAutoCycleWaitResult = new Semaphore(0, 1); 886 | 887 | try 888 | { 889 | while (!bVendingAutoCycleStopRequested) 890 | { 891 | r = t.VendingPurchase(Amount, cur, chkVendingShowAmount.Checked); 892 | switch (r) 893 | { 894 | case RequestResult.Busy: 895 | case RequestResult.InvalidParams: 896 | case RequestResult.NotInitialized: 897 | AddLog("RequestResult: " + r.ToString()); 898 | break; 899 | default: break; 900 | } 901 | 902 | if (!semVendingAutoCycleWaitResult.WaitOne()) 903 | { 904 | break; 905 | } 906 | 907 | if (!bVendingAutoCycleStopRequested) 908 | { 909 | semVendingAutoCycleWaitResult.WaitOne(5000); 910 | } 911 | 912 | if (chbVendingAutoCycleCompleteTransactions.Checked) 913 | { 914 | r = t.VendingComplete(Amount, cur); 915 | switch (r) 916 | { 917 | case RequestResult.Busy: 918 | case RequestResult.InvalidParams: 919 | case RequestResult.NotInitialized: 920 | AddLog("RequestResult: " + r.ToString()); 921 | break; 922 | default: break; 923 | } 924 | } 925 | else 926 | { 927 | r = t.VendingCancel(); 928 | switch (r) 929 | { 930 | case RequestResult.Busy: 931 | case RequestResult.InvalidParams: 932 | case RequestResult.NotInitialized: 933 | MessageBox.Show("RequestResult: " + r.ToString()); 934 | break; 935 | default: break; 936 | } 937 | } 938 | 939 | if (!semVendingAutoCycleWaitResult.WaitOne()) 940 | { 941 | break; 942 | } 943 | 944 | if (!bVendingAutoCycleStopRequested) 945 | { 946 | semVendingAutoCycleWaitResult.WaitOne(25000); 947 | } 948 | } 949 | } 950 | finally 951 | { 952 | bVendingAutoCycleIsRunning = false; 953 | 954 | if (btnVendingAutoCycle.InvokeRequired) 955 | { 956 | btnVendingAutoCycle.Invoke( 957 | (MethodInvoker)delegate 958 | { 959 | btnVendingAutoCycle.Text = "Start Vending Autocycle"; 960 | }); 961 | } 962 | else 963 | { 964 | btnVendingAutoCycle.Text = "Start Vending Autocycle"; 965 | } 966 | } 967 | } 968 | 969 | private void btnVendingAutoCycle_Click(object sender, EventArgs e) 970 | { 971 | if (bVendingAutoCycleIsRunning) 972 | { 973 | btnVendingAutoCycle.Text = "Stopping ..."; 974 | bVendingAutoCycleStopRequested = true; 975 | 976 | t.StopWaitingForCard(); 977 | } 978 | else 979 | { 980 | if (!ParseAmount() || !ParseCurrency()) 981 | { 982 | AddLog("Invalid input"); 983 | return; 984 | } 985 | 986 | bVendingAutoCycleIsRunning = true; 987 | btnVendingAutoCycle.Text = "Stop Vending Autocycle"; 988 | 989 | thVendingAutoCycleThread = new Thread(VendingAutoCycle); 990 | thVendingAutoCycleThread.Start(); 991 | } 992 | } 993 | 994 | private void btnDisplayText_Click(object sender, EventArgs e) 995 | { 996 | int Timeout = 0; 997 | 998 | Int32.TryParse(txtDispalyTextTimeout.Text, out Timeout); 999 | 1000 | RequestResult r = t.DisplayTextOnScreen(Timeout 1001 | , txtDispalyTextRow1.Text, (DispalyTextRowAlign)cmbDispalyTextRow1Align.SelectedItem 1002 | , txtDispalyTextRow2.Text, (DispalyTextRowAlign)cmbDispalyTextRow2Align.SelectedItem 1003 | , txtDispalyTextRow3.Text, (DispalyTextRowAlign)cmbDispalyTextRow3Align.SelectedItem 1004 | , txtDispalyTextRow4.Text, (DispalyTextRowAlign)cmbDispalyTextRow4Align.SelectedItem 1005 | , txtDispalyTextRow5.Text, (DispalyTextRowAlign)cmbDispalyTextRow5Align.SelectedItem 1006 | ); 1007 | 1008 | switch (r) 1009 | { 1010 | case RequestResult.Busy: 1011 | case RequestResult.InvalidParams: 1012 | case RequestResult.NotInitialized: 1013 | MessageBox.Show("RequestResult: " + r.ToString()); 1014 | break; 1015 | default: break; 1016 | } 1017 | } 1018 | 1019 | private void btnHideText_Click(object sender, EventArgs e) 1020 | { 1021 | t.HideTextOnScreen(); 1022 | } 1023 | 1024 | private void btnDisplayButtons_Click(object sender, EventArgs e) 1025 | { 1026 | int Timeout = 0; 1027 | 1028 | Int32.TryParse(txtDispalyTextTimeout.Text, out Timeout); 1029 | 1030 | RequestResult r = t.DisplayButtons( 1031 | txtDispalyTextRow1.Text 1032 | , txtDispalyTextRow2.Text 1033 | , txtButtonText1.Text 1034 | , txtButtonText2.Text 1035 | , txtButtonText3.Text 1036 | , txtButtonText4.Text 1037 | , txtButtonText5.Text 1038 | , Timeout 1039 | ); 1040 | 1041 | switch (r) 1042 | { 1043 | case RequestResult.Busy: 1044 | case RequestResult.InvalidParams: 1045 | case RequestResult.NotInitialized: 1046 | MessageBox.Show("RequestResult: " + r.ToString()); 1047 | break; 1048 | default: break; 1049 | } 1050 | } 1051 | 1052 | private void btnIsWaitingForCard_Click(object sender, EventArgs e) 1053 | { 1054 | if (t.IsWaitingForCard()) 1055 | { 1056 | AddLog("Is waiting for card"); 1057 | } 1058 | else 1059 | { 1060 | AddLog("Not waiting for card"); 1061 | } 1062 | } 1063 | 1064 | private void btnPurchaseAutoCycle_Click(object sender, EventArgs e) 1065 | { 1066 | if (bVendingAutoCycleIsRunning) 1067 | { 1068 | btnPurchaseAutoCycle.Text = "Stopping ..."; 1069 | bVendingAutoCycleStopRequested = true; 1070 | 1071 | t.StopWaitingForCard(); 1072 | } 1073 | else 1074 | { 1075 | if (!ParseAmount() || !ParseCurrency()) 1076 | { 1077 | AddLog("Invalid input"); 1078 | return; 1079 | } 1080 | 1081 | bVendingAutoCycleIsRunning = true; 1082 | btnPurchaseAutoCycle.Text = "Stop Purchase Autocycle"; 1083 | 1084 | thVendingAutoCycleThread = new Thread(PurchaseAutoCycle); 1085 | thVendingAutoCycleThread.Start(); 1086 | } 1087 | } 1088 | 1089 | private void PurchaseAutoCycle() 1090 | { 1091 | RequestResult r; 1092 | bVendingAutoCycleStopRequested = false; 1093 | semVendingAutoCycleWaitResult = new Semaphore(0, 1); 1094 | 1095 | double Tip = 0; 1096 | ReferenceNumberType refNumType = ReferenceNumberType.None; 1097 | string refNumValue = ""; 1098 | string operCode = ""; 1099 | 1100 | if (cmbReferenceType.InvokeRequired) 1101 | { 1102 | cmbReferenceType.Invoke( 1103 | (MethodInvoker)delegate 1104 | { 1105 | Double.TryParse(txtTipAmount.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out Tip); 1106 | refNumType = (ReferenceNumberType)cmbReferenceType.SelectedItem; 1107 | refNumValue = txtReferenceNumber.Text; 1108 | operCode = txtOperatorCode.Text; 1109 | }); 1110 | } 1111 | else 1112 | { 1113 | Double.TryParse(txtTipAmount.Text, NumberStyles.Number, CultureInfo.InvariantCulture, out Tip); 1114 | refNumType = (ReferenceNumberType)cmbReferenceType.SelectedItem; 1115 | refNumValue = txtReferenceNumber.Text; 1116 | operCode = txtOperatorCode.Text; 1117 | } 1118 | 1119 | try 1120 | { 1121 | while (!bVendingAutoCycleStopRequested) 1122 | { 1123 | r = t.Purchase(Amount, Tip, cur, refNumType, refNumValue, operCode); 1124 | switch (r) 1125 | { 1126 | case RequestResult.Busy: 1127 | case RequestResult.InvalidParams: 1128 | case RequestResult.NotInitialized: 1129 | AddLog("RequestResult: " + r.ToString()); 1130 | break; 1131 | case RequestResult.Processing: 1132 | if (!semVendingAutoCycleWaitResult.WaitOne()) 1133 | { 1134 | break; 1135 | } 1136 | break; 1137 | default: break; 1138 | } 1139 | 1140 | if (!bVendingAutoCycleStopRequested) 1141 | { 1142 | semVendingAutoCycleWaitResult.WaitOne(20000); 1143 | } 1144 | } 1145 | } 1146 | finally 1147 | { 1148 | bVendingAutoCycleIsRunning = false; 1149 | 1150 | if (btnPurchaseAutoCycle.InvokeRequired) 1151 | { 1152 | btnPurchaseAutoCycle.Invoke( 1153 | (MethodInvoker)delegate 1154 | { 1155 | btnPurchaseAutoCycle.Text = "Start Purchase Autocycle"; 1156 | }); 1157 | } 1158 | else 1159 | { 1160 | btnPurchaseAutoCycle.Text = "Start Purchase Autocycle"; 1161 | } 1162 | } 1163 | } 1164 | 1165 | private void btnTwintPurchase_Click(object sender, EventArgs e) 1166 | { 1167 | 1168 | if (!ParseAmount() || !ParseCurrency()) 1169 | { 1170 | MessageBox.Show("Invalid input"); 1171 | } 1172 | else 1173 | { 1174 | 1175 | RequestResult r = t.TwintPurchase(Amount, cur); 1176 | switch (r) 1177 | { 1178 | case RequestResult.Busy: 1179 | case RequestResult.InvalidParams: 1180 | case RequestResult.NotInitialized: 1181 | MessageBox.Show("RequestResult: " + r.ToString()); 1182 | break; 1183 | default: break; 1184 | } 1185 | } 1186 | } 1187 | 1188 | private void btnTerm_IP_TCP_Connect_Click(object sender, EventArgs e) 1189 | { 1190 | Int32 port = 0; 1191 | Int32.TryParse(txtTermTCPPort.Text, out port); 1192 | 1193 | if (txtTermIPHostname.Text == String.Empty) 1194 | { 1195 | MessageBox.Show("Empty address"); 1196 | return; 1197 | } 1198 | 1199 | if (port<=0 || port > UInt16.MaxValue) 1200 | { 1201 | MessageBox.Show("Invalid port"); 1202 | return; 1203 | } 1204 | 1205 | try 1206 | { 1207 | AddLog(String.Format("Trying to connect to [{0}:{1}]", txtTermIPHostname.Text, port)); 1208 | tcpClientTerminal = new TcpClient(txtTermIPHostname.Text, port); 1209 | t.Initialize(tcpClientTerminal.GetStream()); 1210 | } 1211 | catch (Exception ex) { 1212 | AddLog("[Exception] " + ex.Message); 1213 | MessageBox.Show("Connect not succesful"); 1214 | return; 1215 | } 1216 | } 1217 | } 1218 | } 1219 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Form1.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | \L\c 122 | ============== 123 | === TEST === 124 | ============== 125 | \l 126 | HERE 123 EU 127 | TERMINAL ID: 87654321 128 | MERCHANT ID: 000000012345678 129 | 130 | \W\H\cPAYMENT\w\h 131 | \l\n\nAMOUNT \H123.45 EUR 132 | \c\h\n 133 | ============== 134 | === THANK YOU! === 135 | ============== 136 | \n\n\n 137 | 138 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using System.Windows.Forms; 6 | 7 | namespace myPOSDemoApp 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | Application.Run(new Form1()); 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("myPOSDemoApp")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("myPOS Limited")] 12 | [assembly: AssemblyProduct("myPOSDemoApp")] 13 | [assembly: AssemblyCopyright("Copyright © 2025")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("b3a3b023-41f5-4ef5-ae6e-3cf9e59ecf29")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("2.0.0.1")] 36 | [assembly: AssemblyFileVersion("2.0.0.1")] 37 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace myPOSTerminalDemoApp.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("myPOSTerminalDemoApp.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Properties/Resources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | text/microsoft-resx 107 | 108 | 109 | 2.0 110 | 111 | 112 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 113 | 114 | 115 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace myPOSTerminalDemoApp.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/ReceiptReceiverForm.Designer.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace myPOSDemoApp 3 | { 4 | partial class ReceiptReceiverForm 5 | { 6 | /// 7 | /// Required designer variable. 8 | /// 9 | private System.ComponentModel.IContainer components = null; 10 | 11 | /// 12 | /// Clean up any resources being used. 13 | /// 14 | /// true if managed resources should be disposed; otherwise, false. 15 | protected override void Dispose(bool disposing) 16 | { 17 | if (disposing && (components != null)) 18 | { 19 | components.Dispose(); 20 | } 21 | base.Dispose(disposing); 22 | } 23 | 24 | #region Windows Form Designer generated code 25 | 26 | /// 27 | /// Required method for Designer support - do not modify 28 | /// the contents of this method with the code editor. 29 | /// 30 | private void InitializeComponent() 31 | { 32 | this.label1 = new System.Windows.Forms.Label(); 33 | this.txtResult = new System.Windows.Forms.TextBox(); 34 | this.btnCancel = new System.Windows.Forms.Button(); 35 | this.btnOK = new System.Windows.Forms.Button(); 36 | this.SuspendLayout(); 37 | // 38 | // label1 39 | // 40 | this.label1.AutoSize = true; 41 | this.label1.Location = new System.Drawing.Point(13, 13); 42 | this.label1.Name = "label1"; 43 | this.label1.Size = new System.Drawing.Size(88, 13); 44 | this.label1.TabIndex = 0; 45 | this.label1.Text = "Receipt receiver:"; 46 | // 47 | // txtResult 48 | // 49 | this.txtResult.Location = new System.Drawing.Point(107, 10); 50 | this.txtResult.Name = "txtResult"; 51 | this.txtResult.Size = new System.Drawing.Size(288, 20); 52 | this.txtResult.TabIndex = 1; 53 | // 54 | // btnCancel 55 | // 56 | this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; 57 | this.btnCancel.Location = new System.Drawing.Point(293, 37); 58 | this.btnCancel.Name = "btnCancel"; 59 | this.btnCancel.Size = new System.Drawing.Size(102, 28); 60 | this.btnCancel.TabIndex = 2; 61 | this.btnCancel.Text = "Cancel"; 62 | this.btnCancel.UseVisualStyleBackColor = true; 63 | // 64 | // btnOK 65 | // 66 | this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK; 67 | this.btnOK.Location = new System.Drawing.Point(185, 37); 68 | this.btnOK.Name = "btnOK"; 69 | this.btnOK.Size = new System.Drawing.Size(102, 28); 70 | this.btnOK.TabIndex = 2; 71 | this.btnOK.Text = "OK"; 72 | this.btnOK.UseVisualStyleBackColor = true; 73 | // 74 | // ReceiptReceiverForm 75 | // 76 | this.AcceptButton = this.btnOK; 77 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); 78 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 79 | this.CancelButton = this.btnCancel; 80 | this.ClientSize = new System.Drawing.Size(409, 72); 81 | this.Controls.Add(this.btnOK); 82 | this.Controls.Add(this.btnCancel); 83 | this.Controls.Add(this.txtResult); 84 | this.Controls.Add(this.label1); 85 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; 86 | this.MaximizeBox = false; 87 | this.MinimizeBox = false; 88 | this.Name = "ReceiptReceiverForm"; 89 | this.ShowIcon = false; 90 | this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; 91 | this.Text = "Receipt Receiver"; 92 | this.ResumeLayout(false); 93 | this.PerformLayout(); 94 | 95 | } 96 | 97 | #endregion 98 | 99 | private System.Windows.Forms.Label label1; 100 | private System.Windows.Forms.Button btnCancel; 101 | private System.Windows.Forms.Button btnOK; 102 | public System.Windows.Forms.TextBox txtResult; 103 | } 104 | } -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/ReceiptReceiverForm.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | using System.Windows.Forms; 10 | 11 | namespace myPOSDemoApp 12 | { 13 | public partial class ReceiptReceiverForm : Form 14 | { 15 | public ReceiptReceiverForm() 16 | { 17 | InitializeComponent(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/ReceiptReceiverForm.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/myPOSDemoApp.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {B3A3B023-41F5-4EF5-AE6E-3CF9E59ECF29} 8 | WinExe 9 | myPOSTerminalDemoApp 10 | myPOSTerminalDemoApp 11 | v4.8 12 | 512 13 | true 14 | SAK 15 | SAK 16 | SAK 17 | SAK 18 | publish\ 19 | true 20 | Disk 21 | false 22 | Foreground 23 | 7 24 | Days 25 | false 26 | false 27 | true 28 | 0 29 | 1.0.0.%2a 30 | false 31 | false 32 | true 33 | 34 | 35 | 36 | AnyCPU 37 | true 38 | full 39 | false 40 | bin\Debug\ 41 | DEBUG;TRACE 42 | prompt 43 | 4 44 | 45 | 46 | AnyCPU 47 | pdbonly 48 | true 49 | bin\Release\ 50 | TRACE 51 | prompt 52 | 4 53 | 54 | 55 | 56 | False 57 | .\myPOSTerminal.dll 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | Form 74 | 75 | 76 | Form1.cs 77 | 78 | 79 | 80 | 81 | Form 82 | 83 | 84 | ReceiptReceiverForm.cs 85 | 86 | 87 | Form1.cs 88 | 89 | 90 | ResXFileCodeGenerator 91 | Resources.Designer.cs 92 | Designer 93 | 94 | 95 | True 96 | Resources.resx 97 | True 98 | 99 | 100 | ReceiptReceiverForm.cs 101 | 102 | 103 | SettingsSingleFileGenerator 104 | Settings.Designer.cs 105 | 106 | 107 | True 108 | Settings.settings 109 | True 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | False 118 | Microsoft .NET Framework 4.5.2 %28x86 and x64%29 119 | true 120 | 121 | 122 | False 123 | .NET Framework 3.5 SP1 124 | false 125 | 126 | 127 | 128 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/myPOSDemoApp.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.26430.16 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "myPOSDemoApp", "myPOSDemoApp.csproj", "{7FCC029F-91CF-401B-B61B-D4E74B02E462}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {7FCC029F-91CF-401B-B61B-D4E74B02E462}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {7FCC029F-91CF-401B-B61B-D4E74B02E462}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {7FCC029F-91CF-401B-B61B-D4E74B02E462}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {7FCC029F-91CF-401B-B61B-D4E74B02E462}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {8EA7B808-C9FE-4902-BE7D-08648DE5C8A5} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /myPOS-SDK-Demo/myPOSDemoApp/myPOSTerminal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/developermypos/myPOS-SDK-dotNET/afb87dfc340c5e6a15674b5651b9e1f8420b6e2b/myPOS-SDK-Demo/myPOSDemoApp/myPOSTerminal.dll -------------------------------------------------------------------------------- /myPOS-SDK/myPOSTerminal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/developermypos/myPOS-SDK-dotNET/afb87dfc340c5e6a15674b5651b9e1f8420b6e2b/myPOS-SDK/myPOSTerminal.dll --------------------------------------------------------------------------------