microsoft / Dynamics365Commerce.Solutions

Repository for hosting the Dynamics 365 Commerce end to end sample solutions
Other
58 stars 26 forks source link

Hardware Station Error in Commerce SDK for Store Commerce #312

Closed Tech-Kishan closed 1 month ago

Tech-Kishan commented 3 months ago

Other Development Issue

Summary

Describe the issue I have migrated from Retail SDK to Commerce SDK and have a Hardware station component for check scanning process for payment method, when we hit check payment method for transaction it will invoke the scanner and scan the check to get the check details and finish the transaction after hitting the tender command in store commerce app, but when doing this the request for hardware station is not going through and giving hardware station related errors which is shown in screen shots. Also one more thing to note is that we are using third party Scanner to scan check which is RDM and they have provided the .dll for hardware station and a driver to install also this device uses Plug and play interface (USB) to connect to the Retail SDK (MPOS) and Commerce SDK (Store Commerce).

Version and Error Info Commerce SDK Component: Hardware Station Commerce SDK Version:9.47.0.0 Exception/Error Details: Hardware station not accepting request to scan check.

Screenshots

Code From where it is sending request to Hardware Station :

image

Code From Hardware station Controller File :

image image image

Error Messages :

WebView event: extensibilityFrameworkExecuteRuntimeRequestFailed

POS runtime request of type 'HardwareStationDeviceActionRequest' for extension in package 'ERS.MICRCheckScanner' failed. Error Message: ["{\"stack\":\"CommerceError\n at new CommerceError (https://local.storecommerce.dynamics.com/Commerce.TypescriptUtilities.js:543:36)\\n at ErrorParser.parseHardwareStationErrorMessage (https://local.storecommerce.dynamics.com/Pos.Peripherals.js:3078:47)\\n at HardwareStationRequestHandler._onHardwareStationError (https://local.storecommerce.dynamics.com/Pos.Peripherals.js:1758:62)\\n at reject_1 (https://local.storecommerce.dynamics.com/Pos.Peripherals.js:1695:69)\\n at https://local.storecommerce.dynamics.com/Pos.Peripherals.js:1709:29\\n at wrapper (https://local.storecommerce.dynamics.com/Commerce.AsyncResult.js:188:21)\",\"message\":\"\",\"name\":\"CommerceError\",\"_errorCode\":\"string_4914\",\"_title\":\"\",\"_handled\":false,\"errorCode\":\"string_4914\",\"title\":\"\",\"handled\":false}"]

{ "requestType": "HardwareStationDeviceActionRequest", "packageName": "ERS.MICRCheckScanner", "packagePublisher": "ERS", "packageVersion": "1.0.0", "errorMessage": "[\"{\\"stack\\":\\"CommerceError\\n at new CommerceError (https://local.storecommerce.dynamics.com/Commerce.TypescriptUtilities.js:543:36)\\\\n at ErrorParser.parseHardwareStationErrorMessage (https://local.storecommerce.dynamics.com/Pos.Peripherals.js:3078:47)\\\\n at HardwareStationRequestHandler._onHardwareStationError (https://local.storecommerce.dynamics.com/Pos.Peripherals.js:1758:62)\\\\n at reject_1 (https://local.storecommerce.dynamics.com/Pos.Peripherals.js:1695:69)\\\\n at https://local.storecommerce.dynamics.com/Pos.Peripherals.js:1709:29\\\\n at wrapper (https://local.storecommerce.dynamics.com/Commerce.AsyncResult.js:188:21)\\\",\\\"message\\\":\\\"\\\",\\\"name\\\":\\\"CommerceError\\\",\\\"_errorCode\\\":\\\"string_4914\\\",\\\"_title\\\":\\\"\\\",\\\"_handled\\\":false,\\\"errorCode\\\":\\\"string_4914\\\",\\\"title\\\":\\\"\\\",\\\"handled\\\":false}\"]", "correlationId": "ebc0a814-fc58-0d42-d3b1-fb31f9b767cb" }

WebView event: remoteTaskManagerRunOutgoingTaskTimedOut Outgoing task timed out. Correlation ID: 466fcfdc-65be-8b18-ee26-f2855b745950, Task name: HardwareStationWebViewRequest, Outgoing task id: a3126aae-3a3e-a46c-cf24-13da6aa718f6, TimeoutInMilliseconds: 120000, Serialized Parameters: {"action":"POST","targetHardwareStationRequestUri":"IPC://LOCALHOST/MICRCHECKSCANNER/CheckScanningProcess","requestBody":"true","requestLocale":"en-us","hardwareStationHeaders":[{"name":"Accept-Language","value":"en-us"},{"name":"ActivityId","value":"466fcfdc-65be-8b18-ee26-f2855b745950"}]} { "correlationId": "466fcfdc-65be-8b18-ee26-f2855b745950", "taskName": "HardwareStationWebViewRequest", "outgoingTaskId": "a3126aae-3a3e-a46c-cf24-13da6aa718f6", "timeoutInMilliseconds": 120000, "serializedParameters": "{\"action\":\"POST\",\"targetHardwareStationRequestUri\":\"IPC://LOCALHOST/MICRCHECKSCANNER/CheckScanningProcess\",\"requestBody\":\"true\",\"requestLocale\":\"en-us\",\"hardwareStationHeaders\":[{\"name\":\"Accept-Language\",\"value\":\"en-us\"},{\"name\":\"ActivityId\",\"value\":\"466fcfdc-65be-8b18-ee26-f2855b745950\"}]}" }

image image image
jalaliskandar commented 3 months ago

did you solve the issue?

Tech-Kishan commented 3 months ago

did you solve the issue?

Still not solved

Tech-Kishan commented 2 months ago

Found a new clue, that there is a problem with the binding and because of that it is not working as we want

These are the Retail SDK Code binding from HTML and Ts file image (10) image (8) image (7) image (6) image (5)

And these are the Commerce SDK code that had been done as the Microsoft GitHub repo for Commerce SDK suggest image (4) image (3) image (2) image (1)

Tech-Kishan commented 1 month ago

Issue Solved by me personally after just changing some architecture of code in HW controller file that solved the issue