public void Update_CanUpdateTheBillingAddress()
{
var customer = gateway.Customer.Create().Target;
var creditCard = gateway.CreditCard.Create(new CreditCardRequest
{
CardholderName = "Original Holder",
CustomerId = customer.Id,
CVV = "123",
Number = SandboxValues.CreditCardNumber.VISA,
ExpirationDate = "05/2012",
BillingAddress = new CreditCardAddressRequest
{
FirstName = "Old First Name",
LastName = "Old Last Name",
Company = "Old Company",
StreetAddress = "123 Old St",
ExtendedAddress = "Apt Old",
Locality = "Old City",
Region = "Old State",
PostalCode = "12345",
CountryName = "Canada"
}
}).Target;
var result = gateway.PaymentMethod.Update(
creditCard.Token,
new PaymentMethodRequest
{
Options = new PaymentMethodOptionsRequest
{
VerifyCard = false
},
BillingAddress = new PaymentMethodAddressRequest
{
FirstName = "New First Name",
LastName = "New Last Name",
Company = "New Company",
StreetAddress = "123 New St",
Locality = "New City",
Region = "New State",
PostalCode = "56789",
CountryName = "United States of America"
}
});
Assert.IsTrue(result.IsSuccess());
Assert.That(result.Target, Is.InstanceOf(typeof(CreditCard)));
var address = ((CreditCard)result.Target).BillingAddress;
Assert.AreEqual("New First Name", address.FirstName);
Assert.AreEqual("New Last Name", address.LastName);
Assert.AreEqual("New Company", address.Company);
Assert.AreEqual("123 New St", address.StreetAddress);
Assert.AreEqual("New City", address.Locality);
Assert.AreEqual("New State", address.Region);
Assert.AreEqual("56789", address.PostalCode);
Assert.AreEqual("United States of America", address.CountryName);
}