Exemple #1
0
 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, "");
    }
Exemple #3
0
 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);
 }
Exemple #5
0
 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;
 }
Exemple #7
0
        public void OnVerifySignatureRequest(VerifySignatureRequest request)
        {
            OnVerifySignatureRequestMessage onVerifySignatureRequest = new OnVerifySignatureRequestMessage();

            onVerifySignatureRequest.payload = request;
            WebSocket.Send(Serialize(onVerifySignatureRequest));
        }
Exemple #8
0
 /// <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, "");
        }
Exemple #11
0
 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");
     }
 }
Exemple #12
0
 // 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");
     }
 }
Exemple #14
0
            //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;
                //                }
                //        }
                //    }
                //}
            }
Exemple #15
0
 public void OnVerifySignatureRequest(VerifySignatureRequest request) => VerifySignatureRequest?.Invoke(this, request);
Exemple #16
0
 public void OnVerifySignatureRequest(VerifySignatureRequest request)
 {
 }
Exemple #17
0
 public void RejectSignature(VerifySignatureRequest request)
 {
     Send("/RejectSignature", request);
 }
Exemple #18
0
 public void AcceptSignature(VerifySignatureRequest request)
 {
     Send("/AcceptSignature", request);
 }
Exemple #19
0
 public void OnVerifySignatureRequest(VerifySignatureRequest request) => Event?.Invoke(this, EventFrom("VerifySignatureRequest", request));
Exemple #20
0
 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;
            }
            }
        }
Exemple #23
0
 public void OnVerifySignatureRequest(VerifySignatureRequest request)
 {
     Send("/VerifySignatureRequest", Serialize(request));
 }