public void Sale_WithStoreInVaultOnSuccessWhenTransactionFails()
{
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.DECLINE,
CreditCard = new TransactionCreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2009",
},
Customer = new CustomerRequest
{
FirstName = "Jane"
},
Options = new TransactionOptionsRequest
{
StoreInVaultOnSuccess = true
}
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsFalse(result.IsSuccess());
Transaction transaction = result.Transaction;
CreditCard creditCard = transaction.CreditCard;
Assert.IsNull(creditCard.Token);
Assert.IsNull(transaction.GetVaultCreditCard());
Customer customer = transaction.Customer;
Assert.IsNull(customer.Id);
Assert.IsNull(transaction.GetVaultCustomer());
}