public void TestRefundTxnValidation() { var message = new PaymentRequestMessage <RefundRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(false)); message.Payment.TxnList.Txn.Amount = 1; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.ExternalTransactionId = Guid.NewGuid().ToString(); AssertValidationErrors(message.GetValidationErrors()); // Amount. message.Payment.TxnList.Txn.Amount = 0; AssertValidationErrors(message.GetValidationErrors(), new NumericMinimumValueValidationError("Amount", 1)); message.Payment.TxnList.Txn.Amount = int.MaxValue; AssertValidationErrors(message.GetValidationErrors()); // PurchaseId. message.Payment.TxnList.Txn.PurchaseId = Guid.Empty; AssertValidationErrors(message.GetValidationErrors(), new IsSetValidationError("PurchaseId")); message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); // ExternalTransactionId. message.Payment.TxnList.Txn.ExternalTransactionId = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("ExternalTransactionId")); message.Payment.TxnList.Txn.ExternalTransactionId = Guid.NewGuid().ToString(); }
public void TestRefundMessage() { // Request. var paymentRequestMessage = new PaymentRequestMessage <StandardPaymentRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(false)); paymentRequestMessage.Payment.TxnList.Txn.Amount = 100; paymentRequestMessage.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); paymentRequestMessage.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; paymentRequestMessage.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; paymentRequestMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = ExpiryDate; paymentRequestMessage.Prepare(); // Response. var paymentResponseMessage = GetCommand().Send <StandardPaymentRequestTxn, StandardPaymentResponseTxn>(paymentRequestMessage); // Request. var requestMessage = new PaymentRequestMessage <RefundRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(false)); requestMessage.Payment.TxnList.Txn.Amount = paymentResponseMessage.Payment.TxnList.Txn.Amount; requestMessage.Payment.TxnList.Txn.PurchaseId = paymentResponseMessage.Payment.TxnList.Txn.PurchaseId; requestMessage.Payment.TxnList.Txn.ExternalTransactionId = paymentResponseMessage.Payment.TxnList.Txn.ExternalTransactionId; requestMessage.Prepare(); // Response. var responseMessage = GetCommand().Send <RefundRequestTxn, RefundResponseTxn>(requestMessage); // Check. AssertResponse(responseMessage); AssertRequestResponse(paymentRequestMessage, paymentResponseMessage, requestMessage, responseMessage); }
private PaymentRequestMessage <AntiFraudPaymentRequestTxn> CreateRequestMessage() { var message = new PaymentRequestMessage <AntiFraudPaymentRequestTxn> { MerchantInfo = { MerchantId = _merchantId, Password = _password } }; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.Amount = 37620; message.Payment.TxnList.Txn.Currency = Domain.Currency.AUD; message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = AustralianCreditCardNumber; message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "123"; message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = new ExpiryDate(DateTime.Now.AddYears(2)); message.Payment.TxnList.Txn.BuyerInfo.Ip = AustralianIpAddress; message.Payment.TxnList.Txn.BuyerInfo.EmailAddress = EmailAddress; message.Payment.TxnList.Txn.BuyerInfo.BillingCountry = Country; message.Payment.TxnList.Txn.BuyerInfo.DeliveryCountry = Country; message.Prepare(); message.Validate(); return(message); }
private async Task ProcessPayments(ProcessMessageEventArgs args) { var message = args.Message; var body = Encoding.UTF8.GetString(message.Body); PaymentRequestMessage paymentRequestMessage = JsonConvert.DeserializeObject <PaymentRequestMessage>(body); var result = _processPayment.PaymentProcessor(); UpdatePaymentResultMessage updatePaymentResultMessage = new() { Status = result, OrderId = paymentRequestMessage.OrderId, Email = paymentRequestMessage.Email }; try { await _messageBus.PublishMessage(updatePaymentResultMessage, orderupdatepaymentresulttopic); await args.CompleteMessageAsync(args.Message); } catch (Exception e) { throw; } } }
public void TestStandardPaymentTxnValidation() { var message = new PaymentRequestMessage <StandardPaymentRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(false)); message.Payment.TxnList.Txn.Amount = 1; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; message.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = ExpiryDate; AssertValidationErrors(message.GetValidationErrors()); // Amount. message.Payment.TxnList.Txn.Amount = 0; AssertValidationErrors(message.GetValidationErrors(), new NumericMinimumValueValidationError("Amount", 1)); message.Payment.TxnList.Txn.Amount = int.MaxValue; AssertValidationErrors(message.GetValidationErrors()); // PurchaseId message.Payment.TxnList.Txn.PurchaseId = Guid.Empty; AssertValidationErrors(message.GetValidationErrors(), new IsSetValidationError("PurchaseId")); message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); // CardNumber. message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("CardNumber")); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "abcdefghijklm"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("CardNumber", 13, 16)); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "1234"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("CardNumber", 13, 16)); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "1234567890123456789"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("CardNumber", 13, 16)); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; // Cvv. message.Payment.TxnList.Txn.CreditCardInfo.Cvv = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("Cvv")); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "abc"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("Cvv", 3, 4)); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "12"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("Cvv", 3, 4)); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "1234567"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("Cvv", 3, 4)); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; }
private static void AssertRequestResponse(PaymentRequestMessage <StandardPaymentRequestTxn> requestMessage, PaymentResponseMessage <StandardPaymentResponseTxn> responseMessage) { AssertRequestResponse((RequestMessage)requestMessage, responseMessage); Assert.AreEqual(requestMessage.MerchantInfo.MerchantId, responseMessage.MerchantInfo.MerchantId); Assert.AreEqual(requestMessage.Payment.TxnList.Txn.Amount, responseMessage.Payment.TxnList.Txn.Amount); Assert.AreEqual(requestMessage.Payment.TxnList.Txn.Currency, responseMessage.Payment.TxnList.Txn.Currency); Assert.AreEqual(requestMessage.Payment.TxnList.Txn.PurchaseId, responseMessage.Payment.TxnList.Txn.PurchaseId); Assert.AreEqual(requestMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate, responseMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate); }
public void TestRefundTxnDefaults() { var message = new PaymentRequestMessage <RefundRequestTxn>(); Assert.AreEqual(0, message.Payment.TxnList.Txn.Amount); Assert.AreEqual(Guid.Empty, message.Payment.TxnList.Txn.PurchaseId); Assert.IsNull(message.Payment.TxnList.Txn.ExternalTransactionId); message.Prepare(); Assert.AreEqual(0, message.Payment.TxnList.Txn.Amount); Assert.AreEqual(Guid.Empty, message.Payment.TxnList.Txn.PurchaseId); Assert.IsNull(message.Payment.TxnList.Txn.ExternalTransactionId); }
private static void AssertRequestResponse(PaymentRequestMessage <StandardPaymentRequestTxn> paymentRequestMessage, PaymentResponseMessage <StandardPaymentResponseTxn> paymentResponseMessage, PaymentRequestMessage <RefundRequestTxn> requestMessage, PaymentResponseMessage <RefundResponseTxn> responseMessage) { AssertRequestResponse(requestMessage, responseMessage); Assert.AreEqual(requestMessage.MerchantInfo.MerchantId, responseMessage.MerchantInfo.MerchantId); Assert.AreEqual(requestMessage.Payment.TxnList.Txn.Amount, responseMessage.Payment.TxnList.Txn.Amount); Assert.AreEqual(paymentRequestMessage.Payment.TxnList.Txn.Currency, responseMessage.Payment.TxnList.Txn.Currency); Assert.AreEqual(paymentResponseMessage.Payment.TxnList.Txn.ExternalTransactionId, responseMessage.Payment.TxnList.Txn.PaymentExternalTransactionId); Assert.AreEqual(paymentResponseMessage.Payment.TxnList.Txn.CreditCardInfo.Pan, responseMessage.Payment.TxnList.Txn.CreditCardInfo.Pan); Assert.AreEqual(paymentResponseMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate, responseMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate); Assert.AreEqual(paymentResponseMessage.Payment.TxnList.Txn.CreditCardInfo.CardType, responseMessage.Payment.TxnList.Txn.CreditCardInfo.CardType); Assert.AreEqual(paymentResponseMessage.Payment.TxnList.Txn.CreditCardInfo.CardDescription, responseMessage.Payment.TxnList.Txn.CreditCardInfo.CardDescription); }
public void TestSerializeRequestMessage() { // Serialize. var message = new PaymentRequestMessage <RefundRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(false)); message.Payment.TxnList.Txn.Amount = 1; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.ExternalTransactionId = Guid.NewGuid().ToString(); message.Prepare(); message.Validate(); var serializedMessage = Serialization.Serialize(message); // Check. AssertRequestMessage(message, serializedMessage); }
protected override Task ExecuteAsync(CancellationToken stoppingToken) { stoppingToken.ThrowIfCancellationRequested(); var consumer = new EventingBasicConsumer(_channel); consumer.Received += (ch, ea) => { var content = Encoding.UTF8.GetString(ea.Body.ToArray()); PaymentRequestMessage paymentRequestMessage = JsonConvert.DeserializeObject <PaymentRequestMessage>(content); HandleMessage(paymentRequestMessage).GetAwaiter().GetResult(); _channel.BasicAck(ea.DeliveryTag, false); }; _channel.BasicConsume("orderpaymentprocesstopic", false, consumer); return(Task.CompletedTask); }
public void TestStandardPaymentTxnDefaults() { var message = new PaymentRequestMessage <StandardPaymentRequestTxn>(); Assert.AreEqual(0, message.Payment.TxnList.Txn.Amount); Assert.AreEqual(Currency.AUD, message.Payment.TxnList.Txn.Currency); Assert.AreEqual(Guid.Empty, message.Payment.TxnList.Txn.PurchaseId); Assert.IsNull(message.Payment.TxnList.Txn.CreditCardInfo.CardNumber); Assert.IsNull(message.Payment.TxnList.Txn.CreditCardInfo.Cvv); Assert.AreEqual(ExpiryDate.MinValue, message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate); message.Prepare(); Assert.AreEqual(0, message.Payment.TxnList.Txn.Amount); Assert.AreEqual(Currency.AUD, message.Payment.TxnList.Txn.Currency); Assert.AreEqual(Guid.Empty, message.Payment.TxnList.Txn.PurchaseId); Assert.IsNull(message.Payment.TxnList.Txn.CreditCardInfo.CardNumber); Assert.IsNull(message.Payment.TxnList.Txn.CreditCardInfo.Cvv); Assert.AreEqual(ExpiryDate.MinValue, message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate); }
public void TestSerializeRequestMessage() { // Serialize. var message = new PaymentRequestMessage <StandardPaymentRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(false)); message.Payment.TxnList.Txn.Amount = 1; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; message.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = ExpiryDate; message.Prepare(); message.Validate(); var serializedMessage = Serialization.Serialize(message); // Check. AssertRequestMessage(message, serializedMessage); }
private async Task HandleMessage(PaymentRequestMessage paymentRequestMessage) { var result = _processPayment.PaymentProcessor(); UpdatePaymentResultMessage updatePaymentResultMessage = new() { Status = result, OrderId = paymentRequestMessage.OrderId, Email = paymentRequestMessage.Email }; try { _rabbitMQPaymentMessageSender.SendMessage(updatePaymentResultMessage); // await _messageBus.PublishMessage(updatePaymentResultMessage, orderupdatepaymentresulttopic); // await args.CompleteMessageAsync(args.Message); } catch (Exception e) { throw; } } }
public void TestSerializeRequestMessage() { // Serialize. var message = new PaymentRequestMessage <AntiFraudPaymentRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(true)); message.Payment.TxnList.Txn.Amount = 1; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; message.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = ExpiryDate; message.Payment.TxnList.Txn.BuyerInfo.Ip = IpAddress; message.Payment.TxnList.Txn.BuyerInfo.EmailAddress = EmailAddress; message.Payment.TxnList.Txn.BuyerInfo.BillingCountry = Country; message.Payment.TxnList.Txn.BuyerInfo.DeliveryCountry = Country; message.Prepare(); message.Validate(); var serializedMessage = Serialization.Serialize(message); // Check. AssertRequestMessage(message, serializedMessage); }
private PaymentRequestMessage <StandardPaymentRequestTxn> CreateRequestMessage() { var message = new PaymentRequestMessage <StandardPaymentRequestTxn> { MerchantInfo = { MerchantId = _merchantId, Password = _password } }; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.Amount = 37620; message.Payment.TxnList.Txn.Currency = Domain.Currency.AUD; message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "4444333322221111"; message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "123"; message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = new ExpiryDate(DateTime.Now.AddYears(2)); message.Prepare(); message.Validate(); return(message); }
private static PaymentResponseMessage <AntiFraudPaymentResponseTxn> GetAntiFraudResponseMessage(PaymentRequestMessage <AntiFraudPaymentRequestTxn> requestMessage, PaymentResponseMessage <AntiFraudPaymentResponseTxn> responseMessage) { responseMessage.Payment.TxnList.Txn.Amount = requestMessage.Payment.TxnList.Txn.Amount; responseMessage.Payment.TxnList.Txn.Currency = requestMessage.Payment.TxnList.Txn.Currency; responseMessage.Payment.TxnList.Txn.PurchaseId = requestMessage.Payment.TxnList.Txn.PurchaseId; responseMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = requestMessage.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate; return(responseMessage); }
private static PaymentResponseMessage <TResponseTxn> GetResponseMessage <TRequestTxn, TResponseTxn>(PaymentRequestMessage <TRequestTxn> requestMessage, PaymentResponseMessage <TResponseTxn> responseMessage) where TRequestTxn : PaymentRequestTxn, new() where TResponseTxn : PaymentResponseTxn, new() { if (typeof(TRequestTxn) == typeof(StandardPaymentRequestTxn)) { return(GetStandardResponseMessage(requestMessage as PaymentRequestMessage <StandardPaymentRequestTxn>, responseMessage as PaymentResponseMessage <StandardPaymentResponseTxn>) as PaymentResponseMessage <TResponseTxn>); } if (typeof(TRequestTxn) == typeof(AntiFraudPaymentRequestTxn)) { return(GetAntiFraudResponseMessage(requestMessage as PaymentRequestMessage <AntiFraudPaymentRequestTxn>, responseMessage as PaymentResponseMessage <AntiFraudPaymentResponseTxn>) as PaymentResponseMessage <TResponseTxn>); } return(null); }
PaymentResponseMessage <TResponseTxn> ISendSecurePayCommand.Send <TRequestTxn, TResponseTxn>(PaymentRequestMessage <TRequestTxn> requestMessage) { if (Url != null) { throw new WebException("The remote name could not be resolved: '" + (Url.StartsWith("http://") ? Url.Substring("http://".Length) : Url) + "'"); } if (StatusCode != null) { return(GetInvalidStatusMessage <TResponseTxn>()); } if (ResponseCode != null) { return(GetNotApprovedMessage <TRequestTxn, TResponseTxn>(requestMessage)); } if (FraudFailure != FraudFailure.None) { return(GetFraudMessage(requestMessage as PaymentRequestMessage <AntiFraudPaymentRequestTxn>) as PaymentResponseMessage <TResponseTxn>); } return(GetResponseMessage(requestMessage, GetResponseMessage <TResponseTxn>(true, 0))); }
private PaymentResponseMessage <AntiFraudPaymentResponseTxn> GetFraudMessage(PaymentRequestMessage <AntiFraudPaymentRequestTxn> requestMessage) { return(GetResponseMessage(requestMessage, GetResponseMessage())); }
private PaymentResponseMessage <TResponseTxn> GetNotApprovedMessage <TRequestTxn, TResponseTxn>(PaymentRequestMessage <TRequestTxn> requestMessage) where TResponseTxn : PaymentResponseTxn, new() where TRequestTxn : PaymentRequestTxn, new() { return(GetResponseMessage(requestMessage, GetResponseMessage <TResponseTxn>(false, ResponseCode.Value))); }
public void TestAntiFraudPaymentTxnValidation() { var message = new PaymentRequestMessage <AntiFraudPaymentRequestTxn>(CreateMessageInfo(), CreateMerchantInfo(true)); message.Payment.TxnList.Txn.Amount = 1; message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; message.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; message.Payment.TxnList.Txn.CreditCardInfo.ExpiryDate = ExpiryDate; message.Payment.TxnList.Txn.BuyerInfo.Ip = IpAddress; message.Payment.TxnList.Txn.BuyerInfo.EmailAddress = EmailAddress; message.Payment.TxnList.Txn.BuyerInfo.BillingCountry = Country; message.Payment.TxnList.Txn.BuyerInfo.DeliveryCountry = Country; AssertValidationErrors(message.GetValidationErrors()); // Amount. message.Payment.TxnList.Txn.Amount = 0; AssertValidationErrors(message.GetValidationErrors(), new NumericMinimumValueValidationError("Amount", 1)); message.Payment.TxnList.Txn.Amount = int.MaxValue; AssertValidationErrors(message.GetValidationErrors()); // PurchaseId message.Payment.TxnList.Txn.PurchaseId = Guid.Empty; AssertValidationErrors(message.GetValidationErrors(), new IsSetValidationError("PurchaseId")); message.Payment.TxnList.Txn.PurchaseId = Guid.NewGuid(); // CardNumber. message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("CardNumber")); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "abcdefghijklm"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("CardNumber", 13, 16)); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "1234"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("CardNumber", 13, 16)); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = "1234567890123456789"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("CardNumber", 13, 16)); message.Payment.TxnList.Txn.CreditCardInfo.CardNumber = CardNumber; // Cvv. message.Payment.TxnList.Txn.CreditCardInfo.Cvv = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("Cvv")); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "abc"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("Cvv", 3, 4)); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "12"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("Cvv", 3, 4)); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = "1234567"; AssertValidationErrors(message.GetValidationErrors(), new NumericLengthRangeValidationError("Cvv", 3, 4)); message.Payment.TxnList.Txn.CreditCardInfo.Cvv = Cvv; // IpAddress. message.Payment.TxnList.Txn.BuyerInfo.Ip = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("Ip")); message.Payment.TxnList.Txn.BuyerInfo.Ip = IpAddress; // EmailAddress. message.Payment.TxnList.Txn.BuyerInfo.EmailAddress = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("EmailAddress")); message.Payment.TxnList.Txn.BuyerInfo.EmailAddress = EmailAddress; // BillingCountry. message.Payment.TxnList.Txn.BuyerInfo.BillingCountry = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("BillingCountry")); message.Payment.TxnList.Txn.BuyerInfo.BillingCountry = Country; // DeliveryCountry. message.Payment.TxnList.Txn.BuyerInfo.DeliveryCountry = null; AssertValidationErrors(message.GetValidationErrors(), new RequiredValidationError("DeliveryCountry")); message.Payment.TxnList.Txn.BuyerInfo.DeliveryCountry = Country; }
private static void AssertRequestMessage(PaymentRequestMessage <StandardPaymentRequestTxn> message, string serializedMessage) { var expectedSerializedMessage = string.Format(RequestMessageFormat, message.MessageInfo.MessageId, message.MessageInfo.MessageTimestamp, message.Payment.TxnList.Txn.Amount, message.Payment.TxnList.Txn.PurchaseId); Assert.AreEqual(expectedSerializedMessage, serializedMessage); }