public void Generate_CanBeGroupedByACustomField()
{
TransactionRequest request = new TransactionRequest
{
Amount = 1000M,
CreditCard = new TransactionCreditCardRequest
{
Number = "4111111111111111",
ExpirationDate = "05/2012",
CardholderName = "Tom Smith",
},
Options = new TransactionOptionsRequest
{
SubmitForSettlement = true
},
CustomFields = new Dictionary<string, string>
{
{ "store_me", "custom value" }
}
};
Transaction transaction = gateway.Transaction.Sale(request).Target;
Transaction settlementResult = gateway.TestTransaction.Settle(transaction.Id);
var settlementDate = settlementResult.SettlementBatchId.Substring(0,10);
transaction = gateway.Transaction.Find(transaction.Id);
var result = gateway.SettlementBatchSummary.Generate(System.DateTime.Parse(settlementDate), "store_me");
var customValues = new List<IDictionary<string, string>>();
foreach (var row in result.Target.Records)
{
if ("custom value".Equals(row["store_me"]))
{
customValues.Add(row);
}
}
Assert.AreEqual(1, customValues.Count);
}
}