public void SubmitForSettlement_WithAmexRewardsSucceeds()
{
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
MerchantAccountId = MerchantAccountIDs.FAKE_AMEX_DIRECT_MERCHANT_ACCOUNT_ID,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.AmexPayWithPoints.SUCCESS,
ExpirationDate = "05/2008"
},
Options = new TransactionOptionsRequest
{
AmexRewards = new TransactionOptionsAmexRewardsRequest
{
RequestId = "ABC123",
Points = "100",
CurrencyAmount = "1",
CurrencyIsoCode = "USD"
}
}
};
Transaction transaction = gateway.Transaction.Sale(request).Target;
Result<Transaction> result = gateway.Transaction.SubmitForSettlement(transaction.Id, decimal.Parse("50.00"));
Assert.IsTrue(result.IsSuccess());
Assert.AreEqual(TransactionStatus.SUBMITTED_FOR_SETTLEMENT, result.Target.Status);
Assert.AreEqual(50.00, result.Target.Amount);
}