コード例 #1
0
        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);
        }
コード例 #2
0
        /// <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));
        }