public void Sale_WithDescriptorValidation()
{
var request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2009",
},
Descriptor = new DescriptorRequest
{
Name = "badcompanyname12*badproduct12",
Phone = "%bad4445555",
Url = "12345678901234"
}
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsFalse(result.IsSuccess());
Assert.AreEqual(
ValidationErrorCode.DESCRIPTOR_NAME_FORMAT_IS_INVALID,
result.Errors.ForObject("Transaction").ForObject("Descriptor").OnField("Name")[0].Code
);
Assert.AreEqual(
ValidationErrorCode.DESCRIPTOR_PHONE_FORMAT_IS_INVALID,
result.Errors.ForObject("Transaction").ForObject("Descriptor").OnField("Phone")[0].Code
);
Assert.AreEqual(
ValidationErrorCode.DESCRIPTOR_URL_FORMAT_IS_INVALID,
result.Errors.ForObject("Transaction").ForObject("Descriptor").OnField("Url")[0].Code
);
}