public async Task <BaseResponse <VoidRefund> > VoidOrRefund(IVoidRefundRequest request) { var generatedGuid = Guid.NewGuid(); var baseRequest = _baseRequestFactory.CreateBaseRequest(generatedGuid, DateTime.Now, Utilities.Constants.RequestTypes.VoidOrRefund, new VoidOrRefundRequestMessage(request, generatedGuid)); return(await _requestHandlerRepository.SendRequestAsync <BaseResponse <VoidRefund> >(baseRequest._requestMessage.GetResponseRootName(), baseRequest)); }
public VoidOrRefundRequestMessage(IVoidRefundRequest request, Guid generatedGuid) { MerchantCode = request.MerchantCode; MerchantAccountCode = request.MerchantAccountCode; Amount = request.Amount; ReferenceNumber = request.ReferenceNumber; TransactionType = request.TransactionType; TransactionCode = generatedGuid.ToString(); PurchaseToken = request.PurchaseToken; OriginatingTechnologySource = request.OriginatingTechnologySource; SoftwareVendor = request.SoftwareVendor; SecurityTechnology = request.SecurityTechnology; CustomerAccountCode = request.CustomerAccountCode; InvoiceNum = request.InvoiceNum; DeviceMake = request.DeviceMake; DeviceModel = request.DeviceModel; DeviceSerial = request.DeviceSerial; DeviceFirmware = request.DeviceFirmware; RegistrationKey = request.RegistrationKey; AppHostMachineId = request.AppHostMachineId; IntegrationMethod = request.IntegrationMethod; EMVTags = request.EMVTags; VoidReasonCode = request.VoidReasonCode; }