authorizenet / inperson-sdk-windows Goto Github PK
View Code? Open in Web Editor NEW.NET SDK for Windows point-of-sale applications.
License: Other
.NET SDK for Windows point-of-sale applications.
License: Other
Hi,
I was just reviewing your EMV options and it appears that the only way to integrate EMV payments through Authorize.net is to use these SDK's. From a partner perspective this seems a little bit like a nightmare.
In our particular case it would be much easier to have an authorize.net cloud middleware that we could simply send a command to then have it work all the magic on the EMV terminal sort of like (docs.paymentengine.io)
If I understand these Docs correctly, and your partner wants to use a webservice to make the EMV reader work they have to:
Given this, are their plans for a cloud middleware anytime soon?
Does this SDK require the Mobile Device Controller? I'm trying to make use of the Transaction Key versus User and Password. Is there a different controller to use that will make use of Transaction Key?
The concern is passwords change and the system we are designing will be distributed as a POS system using EMV and thus be required to be updated once the password expires.
PS - When we replace the merchantAuthenticationType name and item with Login and Transaction key the error comes back as not allowed.
I have created an application using the Windows InPerson SDK using the BBPOS Chipper 2X.
When I process a transaction, it shows as Captured/Pending in the Transaction Search when logging into the Merchant Portal, but I'm receiving a DECLINED result from the SDK.
Is there a solution for this? I grabbed the latest from github this evening, which appears to have a fix for this, but I seem to still have this issue.
Here is what I'm seeing the EMV log
`11/18/2021 2:35:45 PM:startEMVTransaction1.00
11/18/2021 2:35:46 PM:Reader SDK version3.2.3
11/18/2021 2:35:46 PM:WalkerCardListenerBase:startConnection
11/18/2021 2:35:46 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:46 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:46 PM:WalkerCardListenerBase:checkCard
11/18/2021 2:35:50 PM:WalkerCardListenerBase:handleCheckCardResult
11/18/2021 2:35:50 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:50 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:50 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:50 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:50 PM:WalkerCardListenerBase:startEmv
11/18/2021 2:35:51 PM:WalkerCardListenerBase:setAmount
11/18/2021 2:35:52 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:52 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:52 PM:Customer confirmed the transaction.
11/18/2021 2:35:56 PM:WalkerCardListenerBase:processInsert
11/18/2021 2:35:56 PM:WalkerCardListenerBase:preparePayment
11/18/2021 2:35:56 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:56 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:57 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:57 PM:WalkerCardListenerBase:doAuthOrAuthCaptureIfQuickChip
11/18/2021 2:35:57 PM:Posting request:1.00authOnlyTransaction
11/18/2021 2:35:57 PM:Terminal Number:00222273
11/18/2021 2:35:58 PM:Response received trans id43063349993
11/18/2021 2:35:58 PM:Response received messagesThis transaction has been approved.1
11/18/2021 2:35:59 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:59 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:59 PM:WalkerCardListenerBase:doVoidTheTransaction
11/18/2021 2:35:59 PM:Posting request:0voidTransaction
11/18/2021 2:35:59 PM:WalkerCardListenerBase:notifyListenerAndStop
11/18/2021 2:35:59 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:35:59 PM:WalkerCardListenerBase:getActiveListener
11/18/2021 2:36:03 PM:didFailTranactionThis transaction has been declined
11/18/2021 2:36:07 PM:WalkerCardListenerBase:killListenerReference`
I have an app that i built with th In-Person SDK. I used the chipper 2 emv reader for a year then I decided to upgrade to the Augusta reader now my app crashes randomly sometimes when having trouble reading a card, here is the crash report. Any help or insight would be appreciated.:
Application: POS.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Threading.Tasks.TaskCanceledException
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at System.Windows.Threading.DispatcherOperation.Wait(System.TimeSpan)
at System.Windows.Threading.Dispatcher.InvokeImpl(System.Windows.Threading.DispatcherOperation, System.Threading.CancellationToken, System.TimeSpan)
at System.Windows.Threading.Dispatcher.Invoke(System.Action, System.Windows.Threading.DispatcherPriority, System.Threading.CancellationToken, System.TimeSpan)
at System.Windows.Threading.Dispatcher.Invoke(System.Action)
at POS.MainWindow.transactionCompleted(AuthorizeNet.Api.Contracts.V1.createTransactionResponse, Boolean, System.String, ANetEmvDesktopSdk.ErrorResponse)
at ANetEmvDesktopSdk.SDK.SdkLauncher.ANetEmvDesktopSdk.WalkerReader.WalkerCardReaderActivityListener.didFailTranaction(ANetEmvDesktopSdk.ErrorResponse)
at ANetEmvDesktopSdk.Transaction.AugustaCardListenerInBackground.notifyListenerAndStop()
at ANetEmvDesktopSdk.Transaction.AugustaCardListenerInBackground.onError(IDTechSDK.RETURN_CODE, IDTechSDK.DeviceState)
at ANetEmvDesktopSdk.AugustaBase.AugustaCardListenerBase.MessageCallBack(IDTechSDK.IDT_DEVICE_Types, IDTechSDK.DeviceState, Byte[], IDTechSDK.IDTTransactionData, IDTechSDK.EMV_Callback, IDTechSDK.RETURN_CODE)
at IDTechSDK.IDT_Device.__sendCallback(System.Object)
at IDTechSDK.IDT_Device+<>c__DisplayClass142_0.<_sendCallback>b__0()
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()
We have been attempting to integrate with the inperson sdk using the bbpos anywhere walker and the windows sdk. I was able to get the transactions to process correctly through the Inperson sdk but am having two issues with the device. 1) The sdk does not seem to release the usb connection to the device correctly as I am able to reproduce my issue with the sample application provided here. All you have to do is log into a production account and process one emv transaction. Close the application. If you are debugging in visual studio you will notice that even though the screens are closed that the application is still debugging. If you unplug the card reader the debugger stops. If you are just running the exe watch task manager for the process. The application will still be open even though all windows are closed until the device is unplugged.
2) The other problem I seem to be having is that the device is timing out. I believe this is tied to issue 1. After a while the user gets an error stating that they are unable to connect to the device. If they try again or they unplug and plug the device back in again it starts working again.
My code implements IDisposable and calls the this.launcher.stopUSBConnection() though the connection seems to remain. Please let me know what you need from me to help figure out this issue.
Thanks,
Steven
Thank you for bringing this out of beta
EMV SDK securely does a chip transaction; it is a certified solution with TSYS processor.
What does "certified solution" mean? Does this SDK not work with other processors, such as Elavon?
Cloning this repo, I can only get the version and see if the augusta is connected. Any other functionality returns with an error from reading the device. Tested on two PCs, have contacted IDTech and downloaded last .dlls, tried putting latest .dlls in cloned repo and couldn't use any meaningful functionality.
When debugging the project, trying a quickChip or starting an EMV transaction fails, says it cannot read from the usb device or couldn't start the swiper. The only functionality the sdk seems capable of doing is calling the version from IDTechSDK and reporting that back. Am I missing something? I have tried multiple PCs and multiple ports. Device works well with IDTech's demo application.
Trying to connect a PAX 380. Can authenticate fine but then cant see my device which is connected via USB
Hi there,
I can log in to the sample app before but now I can't do it anymore. It always show message "Login failed. Please try again". (https://prnt.sc/sy0ql5)
But I can log in to the website https://sandbox.authorize.net/ with the same username and password. https://prnt.sc/sy0s44
Can you please help?
Hi,
We are attempting to run full tests before deployment while setting our Merchant account to test mode. It appears that everything works, however we are still getting an error each time we process the EMV chip that the transaction was declined.
When examining the EMV_SDK_LOGS it appears at least that the transaction is successful:
5/27/2020 4:57:17 AM:WalkerCardListenerBase:doAuthOrAuthCaptureIfQuickChip
5/27/2020 4:57:17 AM:Posting request:1authOnlyTransaction
5/27/2020 4:57:17 AM:Terminal Number:00222273
5/27/2020 4:57:17 AM:Response received trans id0
5/27/2020 4:57:17 AM:Response received messagesThis transaction has been approved.1
5/27/2020 4:57:17 AM:Request failedObject reference not set to an instance of an object.authOnlyTransaction
5/27/2020 4:57:17 AM:Connection error occurred
5/27/2020 4:57:19 AM:WalkerCardListenerBase:getActiveListener
5/27/2020 4:57:19 AM:WalkerCardListenerBase:getActiveListener
5/27/2020 4:57:19 AM:WalkerCardListenerBase:doVoidTheTransaction
5/27/2020 4:57:19 AM:Posting request:0voidTransaction
5/27/2020 4:57:19 AM:Response received trans id0
5/27/2020 4:57:19 AM:Response receivedA valid referenced transaction ID is required.33
What is perplexing to us is that when we enable the magstrip reader and force a credit swipe, the event handlers return a transaction response indicating that the transaction is successful with an ID of 0. However, we also believe that the magstrip must be using different logic, as it does not make any records in the EMV_SDK_Logs
We would like to move forward with deployment, but I want to confirm if this is a known issue, that all EMV transactions in test mode will return that the transaction is declined. This issue does not occur in the VPOS portal when in test mode, only in the WIN SDK, when we have tested our merchant account
From your demo app and from using the function processCardInBackground(), it always the status that "Process card failed" even when being called with and without a chipped card inserted. Is this the expected result or is there something that needs to be done before that function is called?
Hi,
Using Sample App when you try to call EMV Transaction occurs the XamlParseException exception and program a terminated instantly. In the built version of the application from demo_app.zip occurs just the same problem.
Exception Info:
An unhandled exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll
Additional information: "The invocation of the constructor on type 'OrangeNote.Controls.Spinner' that matches the specified binding constraints threw an exception"
Stack Trace:
in System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
in System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
in System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
in System.Windows.Application.LoadComponent(Object component, Uri resourceLocator)
in ANetEmvDesktopSdk.UI.PaymentWindow.InitializeComponent()
in ANetEmvDesktopSdk.UI.PaymentWindow..ctor(PaymentWindowListener iListner, createTransactionRequest iTransactionRequest, SDKTransactionType iTransactionType, Environment iEnvironment, String iCurrencyCode, String iTerminalID, Boolean iSkipSignature, Boolean iShowReceipt, Boolean iQuickChip)
in ANetEmvDesktopSdk.SDK.SdkLauncher.processPayment()
in ANetEmvDesktopSdk.SDK.SdkLauncher.startEMVTransaction(createTransactionRequest iTransactionRequest, SDKTransactionType iTransactionType, SdkListener iListener)
in ANetEmvDesktopSdk.Sample.MainController.emvTransaction(Object sender, RoutedEventArgs e) in c:\Users\{username}\Desktop\inperson-sdk-windows\ANetEmvDesktopSdk.Sample\MainController.xaml.cs:line 85
My version of the .NET Framework 4.6.1. OS Win10 x64
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.