public void Sale_UsesBillingAddressFromVault()
{
Customer customer = gateway.Customer.Create(new CustomerRequest()).Target;
gateway.CreditCard.Create(new CreditCardRequest
{
CustomerId = customer.Id,
CVV = "123",
Number = "5105105105105100",
ExpirationDate = "05/12"
});
Address billingAddress = gateway.Address.Create(customer.Id, new AddressRequest { FirstName = "Carl" }).Target;
TransactionRequest request = new TransactionRequest
{
Amount = SandboxValues.TransactionAmount.AUTHORIZE,
CustomerId = customer.Id,
BillingAddressId = billingAddress.Id
};
Result<Transaction> result = gateway.Transaction.Sale(request);
Assert.IsTrue(result.IsSuccess());
Transaction transaction = result.Target;
Assert.AreEqual(billingAddress.Id, transaction.BillingAddress.Id);
Assert.AreEqual("Carl", transaction.BillingAddress.FirstName);
}