예제 #1
0
        public async Task PostSendKey([FromBody] EFTSendKeyRequest key)
        {
            if (key == null)
            {
                return;
            }

            var url = appSettings.Server + $"sessions/{key.SessionId}/sendkey";

            var request = new ApiRequest <EFTSendKeyRequest>()
            {
                Request = new EFTSendKeyRequest()
                {
                    Data       = key.Data,
                    Key        = key.Key,
                    PosName    = appSettings.PosName,
                    PosVersion = appSettings.PosVersion
                },
                Notification = new Notification
                {
                    Uri = appSettings.NotificationUri
                }
            };

            if (string.IsNullOrEmpty(token))
            {
                token = GetToken().Result?.Token;
            }

            var apiClient = clients.GetAPIClient();

            apiClient.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
            apiClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);

            HttpContent content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");

            var response = await apiClient.PostAsync(url, content);

            if (response.IsSuccessStatusCode)
            {
                return;
            }
        }
 private async void _proxyVM_OnSendKey(object sender, EFTSendKeyRequest e)
 {
     await _eftw.SendKey(e.Key, e.Data);
 }
예제 #3
0
        ///// <summary>Initiate a PaymentTerminal duplicate receipt request.</summary>
        ///// <param name="request">An <see cref="EFTReprintReceiptRequest" /> object.</param>
        ///// <returns>FALSE if an error occured.</returns>
        //public bool DoDuplicateReceipt(EFTReprintReceiptRequest request)
        //{
        //    return DoRequest(request);
        //}

        /// <summary>Send a key to PaymentTerminal.</summary>
        /// <param name="request">An <see cref="EFTSendKeyRequest" />.</param>
        /// <returns>FALSE if an error occured.</returns>
        public bool DoSendKey(EFTSendKeyRequest request)
        {
            return(DoRequest(request));
        }
 public void SendKeyFunc(EFTSendKeyRequest key)
 {
     OnSendKey?.Invoke(this, key);
 }