HELP NEEDED FOR COMMUNICATION WITH INGENICO I3070

More
13 years 9 months ago #1519 by David
Hello, Pete
I am new for i3070 and very happy to read your Posts, it help me a lot.but when I try to download your sample code,<Pos for .NET 1.1 Sample.zip>,<i3070 driver.zip>, windows say "The Compressed(zipped) folder is invalid or corrupted" , I try to open it in different PCs, but same.
Would you please help me to make it work?

Thank you in advance.
David

Please Log in or Create an account to join the conversation.

More
13 years 9 months ago #1520 by Pete
Yeah, it looks like over time those zip files have become corrupt. You can try this site:

www.posplus.com/downloads/Ingenico/

Else maybe Ingenico finally can provide them. :)

I will also look in my backups for you to see if I have those files elsewhere and will let you know.

Pete

DigiOz Webmaster
www.digioz.com

Please Log in or Create an account to join the conversation.

More
13 years 9 months ago #1536 by David

Please Log in or Create an account to join the conversation.

More
13 years 3 months ago #1925 by mcevillyd
Pete,

I am having trouble claiming the Ingenico i6550 device. I have downloaded the OPOS driver and am trying to communicate with the device through a VB.net Windows application.

The .open works file, but the .claimdevice returns 111.

I was wondering if you could locate the sample vb.net 1.1 application that you reference earlier in this thread. I think that would really help me.

Donna

Please Log in or Create an account to join the conversation.

More
13 years 3 months ago - 10 years 5 months ago #1926 by Pete
Hi Donna,

I re-uploaded the missing POS for .NET Sample App. You can download it above.

I converted the solution to Visual Studio 2010. I hope that works ok for you. Just in case the Zip file gets corrupted again I am also including the source code of the Application below for future reference:

(Add References to Microsoft.PointOfService.dll and Microsoft.PointOfService.ControlBase.dll)

CCReader.vb
Code:
Imports System Imports System.Xml Imports System.Data Imports System.Text Imports System.Drawing Imports System.Threading Imports System.Reflection Imports System.Collections Imports System.Globalization Imports System.ComponentModel Imports Microsoft.Win32 Imports Microsoft.PointOfService Public Class CCReader Private csAccount As String Private csExpirationDate As String Private csTitle As String Private csFirstName As String Private csLastName As String Private csMiddleInitial As String Private ciServiceCode As Integer Private csSuffix As String Private coPosCommon As posCommon Private coPosExplorer As posExplorer Private ccDevices As DeviceCollection Private coDeviceLD As DeviceInfo Private coDeviceMSR As DeviceInfo Friend WithEvents coMsr As Msr Friend WithEvents coLD As LineDisplay Public Event CreditCardScanned(ByVal cbValue As Boolean) Sub New() csAccount = "" csExpirationDate = "" csTitle = "" csFirstName = "" csLastName = "" csMiddleInitial = "" ciServiceCode = 0 csSuffix = "" End Sub ' Miscellanous Functions & Subroutines ----------------- Private Function GetDeviceDisplayName(ByVal device As DeviceInfo) As String Dim name As String = CombineNames(device.LogicalNames) If name.Length = 0 Then name = device.ServiceObjectName If name.Length = 0 Then name = device.Description End If End If Return name End Function Private Shared Function CombineNames(ByVal names As String()) As String Dim s As String = "" For Each name As String In names If s.Length > 0 Then s += ";"c End If s += name Next Return s End Function Private Function GetRegistryValue() As Boolean Dim regKey As RegistryKey Dim regValue As String = "" Try regKey = Registry.LocalMachine.OpenSubKey("Software\POSfor.NET\Setup", False) regValue = CStr(regKey.GetValue("InstallPath")) Catch ex As Exception ' do nothing End Try If regValue.Length > 0 Then Return True Else Return False End If End Function Private Function GetString(ByVal b As Byte()) As String If b Is Nothing Then Return "" End If Dim sb As New StringBuilder(b.Length) For i As Integer = 0 To b.Length - 1 sb.Append(ChrW(b(i))) Next Return sb.ToString() End Function Public Function IsDevicePresent() As Boolean Dim loDevice As DeviceInfo If GetRegistryValue() = True Then Try coPosExplorer = New PosExplorer ccDevices = coPosExplorer.GetDevices(DirectCast([Enum].Parse(GetType(DeviceCompatibilities), "OposAndCompatibilityLevel1", False), DeviceCompatibilities)) For Each loDevice In ccDevices ' Create Line Display Object ---------------------------------------------------- If loDevice.Type = "LineDisplay" And loDevice.ServiceObjectName = "Ing6XXX" Then coDeviceLD = loDevice End If ' Create MSR Object ------------------------------------------------------------- If loDevice.Type = "Msr" And loDevice.ServiceObjectName = "Ing6XXX" Then coDeviceMSR = loDevice End If Next If Not coDeviceLD Is Nothing And Not coDeviceMSR Is Nothing Then Return True Else Return False End If Catch ex As Exception Return False End Try End If End Function ' Main Functions & Subroutines ------------------------- Public Function ShowLDMessage(ByVal DisplayText As String) As Boolean Try coLD.Open() coLD.Claim(30) coLD.DeviceEnabled = True coLD.ClearText() coLD.DisplayText(DisplayText, DisplayTextMode.Normal) coLD.DeviceEnabled = False coLD.Release() coLD.Close() Return True Catch ex As Exception Return False End Try End Function Public Function StartSwipe() As Boolean Try coPosCommon = DirectCast(coPosExplorer.CreateInstance(coDeviceLD), PosCommon) coLD = DirectCast(coPosCommon, LineDisplay) ' Set Line Display Text --------------------------- ShowLDMessage("Scan Card: ") ' Set MSR Settings -------------------------------- coPosCommon = DirectCast(coPosExplorer.CreateInstance(coDeviceMSR), PosCommon) coMsr = DirectCast(coPosCommon, Msr) coMsr.Open() coMsr.Claim(30) coMsr.DeviceEnabled = True coMsr.DataEventEnabled = True Return True Catch ex As Exception Return False End Try End Function Public Sub DataObtained(ByVal source As Object, ByVal d As DataEventArgs) Handles coMsr.DataEvent Dim str As String = d.ToString() + "" & Chr(13) & "" & Chr(10) & "" Dim imsr As Msr = DirectCast(coPosCommon, Msr) 'Dim ccdata1 As New CCData csAccount = imsr.AccountNumber csExpirationDate = imsr.ExpirationDate csTitle = imsr.Title csFirstName = imsr.FirstName csLastName = imsr.Surname csMiddleInitial = imsr.MiddleInitial ciServiceCode = CInt(imsr.ServiceCode) csSuffix = imsr.Suffix Try coMsr.DataEventEnabled = False coMsr.DeviceEnabled = False coMsr.Release() 'coMsr.Close() 'coMsr = Nothing ' Set Line Display Text --------------------------- ShowLDMessage("Thank You") Catch ex As Exception Throw ex End Try RaiseEvent CreditCardScanned(True) End Sub ' Properties ------------------------------------------- Public ReadOnly Property Account() As String Get Return csAccount End Get End Property Public ReadOnly Property ExpirationDate() As String Get Return csExpirationDate End Get End Property Public ReadOnly Property Title() As String Get Return csTitle End Get End Property Public ReadOnly Property FirstName() As String Get Return csFirstName End Get End Property Public ReadOnly Property LastName() As String Get Return csLastName End Get End Property Public ReadOnly Property MiddleInitial() As String Get Return csMiddleInitial End Get End Property Public ReadOnly Property ServiceCode() As Integer Get Return ciServiceCode End Get End Property Public ReadOnly Property Suffix() As String Get Return csSuffix End Get End Property End Class

frmMain.vb
Code:
Public Class frmMain Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() 'This call is required by the Windows Form Designer. InitializeComponent() 'Add any initialization after the InitializeComponent() call End Sub 'Form overrides dispose to clean up the component list. Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. Friend WithEvents btnStart As System.Windows.Forms.Button Friend WithEvents txtOut As System.Windows.Forms.TextBox Friend WithEvents btnClose As System.Windows.Forms.Button <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.btnStart = New System.Windows.Forms.Button Me.txtOut = New System.Windows.Forms.TextBox Me.btnClose = New System.Windows.Forms.Button Me.SuspendLayout() ' 'btnStart ' Me.btnStart.Location = New System.Drawing.Point(8, 8) Me.btnStart.Name = "btnStart" Me.btnStart.Size = New System.Drawing.Size(128, 23) Me.btnStart.TabIndex = 0 Me.btnStart.Text = "Start" ' 'txtOut ' Me.txtOut.Font = New System.Drawing.Font("Courier New", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.txtOut.Location = New System.Drawing.Point(8, 40) Me.txtOut.Multiline = True Me.txtOut.Name = "txtOut" Me.txtOut.ScrollBars = System.Windows.Forms.ScrollBars.Vertical Me.txtOut.Size = New System.Drawing.Size(280, 224) Me.txtOut.TabIndex = 1 Me.txtOut.Text = "" ' 'btnClose ' Me.btnClose.Location = New System.Drawing.Point(144, 8) Me.btnClose.Name = "btnClose" Me.btnClose.Size = New System.Drawing.Size(144, 23) Me.btnClose.TabIndex = 2 Me.btnClose.Text = "Close" ' 'Form1 ' Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13) Me.ClientSize = New System.Drawing.Size(296, 273) Me.Controls.Add(Me.btnClose) Me.Controls.Add(Me.txtOut) Me.Controls.Add(Me.btnStart) Me.Name = "Form1" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen Me.Text = "i3070 Test 3" Me.ResumeLayout(False) End Sub #End Region Public WithEvents coCCReader As New CCReader 'Dim WithEvents myEvent As coCCReader.CreditCardScanned(ByVal cbValue As Boolean) Public Function CheckForCC() As Boolean If coCCReader.IsDevicePresent() Then 'MessageBox.Show("Device Present") If coCCReader.StartSwipe() Then 'MessageBox.Show("Line Display Prompted") Else MessageBox.Show("Problem with Line Display") End If Else MessageBox.Show("Device NOT Present") End If End Function Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click CheckForCC() End Sub Public Sub CCScanned(ByVal cbValue As Boolean) Handles coCCReader.CreditCardScanned 'MessageBox.Show("Swiped!") With coCCReader txtOut.Text &= "Account: " & .Account & vbNewLine txtOut.Text &= "Exp Date: " & .ExpirationDate & vbNewLine txtOut.Text &= "Name: " & .Title & " " & .FirstName & " " & .MiddleInitial & " " & .LastName & " " & .Suffix & vbNewLine txtOut.Text &= "Serv.Code: " & .ServiceCode & vbNewLine End With coCCReader = Nothing coCCReader = New CCReader CheckForCC() End Sub Private Sub btnClose_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClose.Click coCCReader = Nothing Me.Close() End Sub End Class

DigiOz Webmaster
www.digioz.com
Last edit: 10 years 5 months ago by Pete.

Please Log in or Create an account to join the conversation.

More
12 years 9 months ago - 10 years 5 months ago #1999 by jimm1909
Awesome thanks for the excellent help guys! I was having a similar issue trying to communicate with Faxing until I found this thread and read the Fax FAQ

Thanks again,

-Jim
Last edit: 10 years 5 months ago by Pete.

Please Log in or Create an account to join the conversation.

Time to create page: 0.130 seconds
Powered by Kunena Forum