public new void AcceptSignature(VerifySignatureRequest request) { if (Device != null) { Device.doVerifySignature(request.Payment, true); } }
public void RejectSignature(HttpListenerContext context) { VerifySignatureRequest message = ParseRequest <VerifySignatureRequest>(context); GetServer.CloverConnector.RejectSignature(message); this.SendTextResponse(context, ""); }
public new void RejectSignature(VerifySignatureRequest request) { if (Device != null) { Device.doVerifySignature(request.Payment, false); } }
public void OnVerifySignatureRequest(VerifySignatureRequest request) { Program.WriteLine(MethodBase.GetCurrentMethod().Name); Program.WriteLine("Accepting Signature"); request.Accept(); Pos.Connector.AcceptSignature(request); }
public RESTSigVerRequestHandler(RemoteRESTCloverConnector cloverConnector, VerifySignatureRequest request) { restCloverConnector = cloverConnector; svr = request; Payment = request.Payment; Signature = request.Signature; }
public WebSocketSigVerRequestHandler(RemoteWebSocketCloverConnector cloverConnector, VerifySignatureRequest request) { WSCloverConnector = cloverConnector; svr = request; Payment = request.Payment; Signature = request.Signature; }
public void OnVerifySignatureRequest(VerifySignatureRequest request) { OnVerifySignatureRequestMessage onVerifySignatureRequest = new OnVerifySignatureRequestMessage(); onVerifySignatureRequest.payload = request; WebSocket.Send(Serialize(onVerifySignatureRequest)); }
/// <summary> /// Проверка подписи. /// </summary> /// <param name="request">Данные.</param> /// <returns>True - провека прошла успешно, иначе False.</returns> public bool VerifySignature(VerifySignatureRequest request) { log.Debug("VerifySignature: {0}", request); byte[] signatureValue = Convert.FromBase64String(request.Signature); byte[] dataValue = Encoding.UTF8.GetBytes(request.Data); byte[] publicKeyValue = Convert.FromBase64String(request.PublicKey); return(Gost2001KeyContainer.VerifySignature(signatureValue, dataValue, publicKeyValue)); }
public void RejectSignature(VerifySignatureRequest request) { if (websocket != null) { RejectSignatureRequestMessage message = new RejectSignatureRequestMessage(); message.payload = request; websocket.Send(JsonUtils.serialize(message)); } }
public void VerifySignatureRequest(HttpListenerContext context) { VerifySignatureRequest request = ParseResponse <VerifySignatureRequest>(context); RemoteRESTCloverConnector.RESTSigVerRequestHandler sigVerRequest = new RemoteRESTCloverConnector.RESTSigVerRequestHandler((RemoteRESTCloverConnector)cloverConnector, request); connectorListener.ForEach(listener => listener.OnVerifySignatureRequest(sigVerRequest)); SendTextResponse(context, ""); }
public void RejectSignature(HttpListenerContext context) { try { VerifySignatureRequest message = ParseRequest <VerifySignatureRequest>(context); GetServer.CloverConnector.RejectSignature(message); this.SendTextResponse(context, ""); } catch (Exception e) { context.Response.StatusCode = 400; context.Response.StatusDescription = e.Message; this.SendTextResponse(context, "error processing request"); } }
// outputs signature coordinates to a file public override void OnVerifySignatureRequest(VerifySignatureRequest request) { output = ""; foreach (Signature2.Stroke stroke in request.Signature.strokes) { hasSignature = true; output += "["; for (int i = 0; i < stroke.points.Count; i++) { output += "[" + stroke.points[i].x + "," + stroke.points[i].y + "]"; } output += "]"; } File.WriteAllText(signatureApproveRequestFilePath, output); request.Accept(); }
public void VerifySignatureRequest(HttpListenerContext context) { try { VerifySignatureRequest request = ParseResponse <VerifySignatureRequest>(context); RemoteRESTCloverConnector.RESTSigVerRequestHandler sigVerRequest = new RemoteRESTCloverConnector.RESTSigVerRequestHandler((RemoteRESTCloverConnector)cloverConnector, request); connectorListener.ForEach(listener => listener.OnVerifySignatureRequest(sigVerRequest)); SendTextResponse(context, ""); } catch (Exception e) { context.Response.StatusCode = 400; context.Response.StatusDescription = e.Message; SendTextResponse(context, "error processing request"); } }
//Accepting the signature from the client public void verifySignature(VerifySignatureRequest request, string path) { request.Accept(); //validating the file for signature validation bool flag = false; //while (flag) //{ // if (File.Exists(path)) // { // string[] signatureResponse = File.ReadAllText(path).Split('\t'); // switch (signatureResponse[0]) // { // case "Accept": // case "accept": // case "ACCEPT": // { // request.Accept(); // flag = false; // File.Delete(path); // break; // } // case "Reject": // case "reject": // case "REJECT": // { // request.Reject(); // File.Delete(path); // flag = false; // break; // } // default: // { // cloverConnector.ShowMessage("Invalid Response"); // Console.WriteLine("Invalid Response"); // flag = false; // break; // } // } // } //} }
public void OnVerifySignatureRequest(VerifySignatureRequest request) => VerifySignatureRequest?.Invoke(this, request);
public void OnVerifySignatureRequest(VerifySignatureRequest request) { }
public void RejectSignature(VerifySignatureRequest request) { Send("/RejectSignature", request); }
public void AcceptSignature(VerifySignatureRequest request) { Send("/AcceptSignature", request); }
public void OnVerifySignatureRequest(VerifySignatureRequest request) => Event?.Invoke(this, EventFrom("VerifySignatureRequest", request));
public override void OnVerifySignatureRequest(VerifySignatureRequest request) { Connector.AcceptSignature(request); }
/// <summary> /// Handle the request to verify the signature is acceptable to the user/cashier /// Best case this involves comparing the signature to the card. /// /// Here is where business logic like "payments over $100 must compare user signature to signature on card" /// or "verify card and customer picture ID" can be called. /// The request object contains signature line and point data to draw the signature on the POS screen for comparison /// with the customer's signature, for example. /// </summary> public override void OnVerifySignatureRequest(VerifySignatureRequest request) { // For simplicity in this sample, accept all signatures immediately request.Accept(); }
private void websocket_MessageReceived(object sender, MessageReceivedEventArgs e) { // do the parsing of the message, targeted for the callback listener JObject jsonObj = null; try { jsonObj = (JObject)JsonConvert.DeserializeObject(e.Message); } catch (Exception exc) { Console.WriteLine(exc.Message + " => " + e.Message); listeners.ForEach(listener => listener.OnDeviceError(new CloverDeviceErrorEvent(CloverDeviceErrorEvent.CloverDeviceErrorType.EXCEPTION, 0, exc.Message + " => " + e.Message))); return; } JToken method = jsonObj.GetValue(ServicePayloadConstants.PROP_METHOD); if (method == null) { listeners.ForEach(listener => listener.OnDeviceError(new CloverDeviceErrorEvent(CloverDeviceErrorEvent.CloverDeviceErrorType.VALIDATION_ERROR, 0, "Invalid message: " + e.Message))); return; } JObject payload = (JObject)jsonObj.GetValue(ServicePayloadConstants.PROP_PAYLOAD); WebSocketMethod wsm = (WebSocketMethod)Enum.Parse(typeof(WebSocketMethod), method.ToString()); switch (wsm) { case WebSocketMethod.DeviceActivityStart: { CloverDeviceEvent deviceEvent = JsonUtils.deserialize <CloverDeviceEvent>(payload.ToString()); listeners.ForEach(listener => listener.OnDeviceActivityStart(deviceEvent)); break; } case WebSocketMethod.DeviceActivityEnd: { CloverDeviceEvent deviceEvent = JsonUtils.deserialize <CloverDeviceEvent>(payload.ToString()); listeners.ForEach(listener => listener.OnDeviceActivityEnd(deviceEvent)); break; } case WebSocketMethod.DeviceError: { CloverDeviceErrorEvent deviceErrorEvent = JsonUtils.deserialize <CloverDeviceErrorEvent>(payload.ToString()); listeners.ForEach(listener => listener.OnDeviceError(deviceErrorEvent)); break; } case WebSocketMethod.DeviceConnected: { listeners.ForEach(listener => listener.OnDeviceConnected()); break; } case WebSocketMethod.DeviceDisconnected: { listeners.ForEach(listener => listener.OnDeviceDisconnected()); break; } case WebSocketMethod.DeviceReady: { MerchantInfo merchantInfo = JsonUtils.deserialize <MerchantInfo>(payload.ToString()); listeners.ForEach(listener => listener.OnDeviceReady(merchantInfo)); break; } case WebSocketMethod.VerifySignatureRequest: { VerifySignatureRequest svr = JsonUtils.deserialize <VerifySignatureRequest>(payload.ToString()); WebSocketSigVerRequestHandler handler = new WebSocketSigVerRequestHandler(this, svr); listeners.ForEach(listener => listener.OnVerifySignatureRequest(handler)); break; } case WebSocketMethod.SaleResponse: { SaleResponse sr = JsonUtils.deserialize <SaleResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnSaleResponse(sr)); break; } case WebSocketMethod.PreAuthResponse: { PreAuthResponse pr = JsonUtils.deserialize <PreAuthResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnPreAuthResponse(pr)); break; } case WebSocketMethod.AuthResponse: { AuthResponse ar = JsonUtils.deserialize <AuthResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnAuthResponse(ar)); break; } case WebSocketMethod.CapturePreAuthResponse: { CapturePreAuthResponse ar = JsonUtils.deserialize <CapturePreAuthResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnCapturePreAuthResponse(ar)); break; } case WebSocketMethod.RefundPaymentResponse: { RefundPaymentResponse sr = JsonUtils.deserialize <RefundPaymentResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnRefundPaymentResponse(sr)); break; } case WebSocketMethod.VoidPaymentResponse: { VoidPaymentResponse sr = JsonUtils.deserialize <VoidPaymentResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnVoidPaymentResponse(sr)); break; } case WebSocketMethod.ManualRefundResponse: { ManualRefundResponse sr = JsonUtils.deserialize <ManualRefundResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnManualRefundResponse(sr)); break; } case WebSocketMethod.TipAdjustAuthResponse: { TipAdjustAuthResponse taar = JsonUtils.deserialize <TipAdjustAuthResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnTipAdjustAuthResponse(taar)); break; } case WebSocketMethod.VaultCardResponse: { VaultCardResponse vcr = JsonUtils.deserialize <VaultCardResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnVaultCardResponse(vcr)); break; } case WebSocketMethod.ReadCardDataResponse: { ReadCardDataResponse rcdr = JsonUtils.deserialize <ReadCardDataResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnReadCardDataResponse(rcdr)); break; } case WebSocketMethod.CloseoutResponse: { CloseoutResponse cr = JsonUtils.deserialize <CloseoutResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnCloseoutResponse(cr)); break; } case WebSocketMethod.ConfirmPaymentRequest: { ConfirmPaymentRequest cpr = JsonUtils.deserialize <ConfirmPaymentRequest>(payload.ToString()); listeners.ForEach(listener => listener.OnConfirmPaymentRequest(cpr)); break; } case WebSocketMethod.RetrievePendingPaymentsResponse: { RetrievePendingPaymentsResponse rppr = JsonUtils.deserialize <RetrievePendingPaymentsResponse>(payload.ToString()); listeners.ForEach(listener => listener.OnRetrievePendingPaymentsResponse(rppr)); break; } case WebSocketMethod.PrintManualRefundDeclinedReceipt: { PrintManualRefundDeclineReceiptMessage pmrdrm = JsonUtils.deserialize <PrintManualRefundDeclineReceiptMessage>(payload.ToString()); listeners.ForEach(listener => listener.OnPrintManualRefundDeclineReceipt(pmrdrm)); break; } case WebSocketMethod.PrintManualRefundReceipt: { PrintManualRefundReceiptMessage pmrrm = JsonUtils.deserialize <PrintManualRefundReceiptMessage>(payload.ToString()); listeners.ForEach(listener => listener.OnPrintManualRefundReceipt(pmrrm)); break; } case WebSocketMethod.PrintPaymentDeclinedReceipt: { PrintPaymentDeclineReceiptMessage ppdrm = JsonUtils.deserialize <PrintPaymentDeclineReceiptMessage>(payload.ToString()); listeners.ForEach(listener => listener.OnPrintPaymentDeclineReceipt(ppdrm)); break; } case WebSocketMethod.PrintPaymentMerchantCopyReceipt: { PrintPaymentMerchantCopyReceiptMessage ppmcrm = JsonUtils.deserialize <PrintPaymentMerchantCopyReceiptMessage>(payload.ToString()); listeners.ForEach(listener => listener.OnPrintPaymentMerchantCopyReceipt(ppmcrm)); break; } case WebSocketMethod.PrintPaymentReceipt: { PrintPaymentReceiptMessage pprm = JsonUtils.deserialize <PrintPaymentReceiptMessage>(payload.ToString()); listeners.ForEach(listener => listener.OnPrintPaymentReceipt(pprm)); break; } case WebSocketMethod.PrintPaymentRefundReceipt: { PrintRefundPaymentReceiptMessage prprm = JsonUtils.deserialize <PrintRefundPaymentReceiptMessage>(payload.ToString()); listeners.ForEach(listener => listener.OnPrintRefundPaymentReceipt(prprm)); break; } } }
public void OnVerifySignatureRequest(VerifySignatureRequest request) { Send("/VerifySignatureRequest", Serialize(request)); }