/// <summary>
        /// Make refund payment.
        /// </summary>
        /// <param name="request">Request for refund.</param>
        /// <returns>A task that can await until the refund has completed.</returns>
        private RefundPaymentTerminalDeviceResponse RefundPayment(RefundPaymentTerminalDeviceRequest request)
        {
            ThrowIf.Null(request, nameof(request));

            PaymentInfo paymentInfo = Utilities.WaitAsyncTask(() => this.RefundPaymentAsync(request.Amount, request.Currency, request.IsManualEntry, request.ExtensionTransactionProperties));

            return(new RefundPaymentTerminalDeviceResponse(paymentInfo));
        }
Ejemplo n.º 2
0
        public string BuildRefundPaymentRequest(RefundPaymentTerminalDeviceRequest refundRequest, string invoiceId, string workStationId)
        {
            string refundRequestXML = "";

            try
            {
                refundRequestXML = $"<?xml version =\"1.0\"?> <CardServiceRequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" RequestType=\"PaymentRefund\" WorkstationID=\"{workStationId}\" RequestID=\"{invoiceId}\" xmlns=\"http://www.nrf-arts.org/IXRetail/namespace\">  <POSdata> <POSTimeStamp>{DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz")}</POSTimeStamp> <ClerkID> 123456 </ClerkID> <ManualPAN> false </ManualPAN> </POSdata>   <TotalAmount Currency=\"GBP\"> {refundRequest.Amount} </TotalAmount> </CardServiceRequest>";
            }
            catch (Exception ex)
            {
                Logger.WriteLog($"Exception in BuildRefundPaymentRequest() {ex}");
            }

            return(refundRequestXML);
        }