public void Sale_ErrorWithInvalidThreeDSecurePassThruEciFlag()
{
var request = new TransactionRequest
{
MerchantAccountId = MerchantAccountIDs.THREE_D_SECURE_MERCHANT_ACCOUNT_ID,
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2009",
},
ThreeDSecurePassThru = new TransactionThreeDSecurePassThruRequest
{
EciFlag = "bad_eci_flag",
Cavv = "some_cavv",
Xid = "some_xid",
}
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Transaction transaction = result.Target;
Assert.IsFalse(result.IsSuccess());
Assert.AreEqual(ValidationErrorCode.TRANSACTION_THREE_D_SECURE_PASS_THRU_ECI_FLAG_IS_INVALID, result.Errors.ForObject("Transaction").ForObject("Three-D-Secure-Pass-Thru").OnField("Eci-Flag")[0].Code);
}