public void Sale_ErrorWithMissingThreeDSecurePassThruCavvOrXid()
{
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 = "05",
Cavv = "",
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_CAVV_IS_REQUIRED, result.Errors.ForObject("Transaction").ForObject("Three-D-Secure-Pass-Thru").OnField("Cavv")[0].Code);
Assert.AreEqual(ValidationErrorCode.TRANSACTION_THREE_D_SECURE_PASS_THRU_XID_IS_REQUIRED, result.Errors.ForObject("Transaction").ForObject("Three-D-Secure-Pass-Thru").OnField("Xid")[0].Code);
}