public string BuildAuthorizePaymentRequest(AuthorizePaymentTerminalDeviceRequest paymentRequest, string workStationId) { LastTransactionNumber = paymentRequest.TransactionReferenceData.UniqueTransactionId; string cardServiceRequestXML = $"<?xml version =\"1.0\"?> <CardServiceRequest xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" RequestType=\"CardPayment\" WorkstationID=\"{workStationId}\" RequestID=\"{paymentRequest.TransactionReferenceData.UniqueTransactionId}\" xmlns=\"http://www.nrf-arts.org/IXRetail/namespace\"> <POSdata> <POSTimeStamp>{DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz")}</POSTimeStamp> <ClerkID> 123456 </ClerkID> <ManualPAN> {paymentRequest.IsManualEntry} </ManualPAN> <TransactionNumber> {paymentRequest.TransactionReferenceData.UniqueTransactionId} </TransactionNumber> </POSdata> <TotalAmount Currency=\"GBP\"> {paymentRequest.Amount} </TotalAmount> </CardServiceRequest>"; return(cardServiceRequestXML); }
/// <summary> /// Authorize payment. /// </summary> /// <param name="request">The authorize payment request.</param> /// <returns>The authorize payment response.</returns> private AuthorizePaymentTerminalDeviceResponse AuthorizePayment(AuthorizePaymentTerminalDeviceRequest request) { ThrowIf.Null(request, nameof(request)); PaymentInfo paymentInfo = Utilities.WaitAsyncTask(() => this.AuthorizePaymentAsync(request.PaymentConnectorName, request.Amount, request.Currency, request.TenderInfo, request.ExtensionTransactionProperties)); return(new AuthorizePaymentTerminalDeviceResponse(paymentInfo)); }