public void ConfirmTransparentRedirect_CreatesNestedElementsAndCustomFields()
{
CustomerRequest trParams = new CustomerRequest();
CustomerRequest request = new CustomerRequest
{
FirstName = "John",
LastName = "Doe",
CreditCard = new CreditCardRequest
{
Number = SandboxValues.CreditCardNumber.VISA,
CardholderName = "John Doe",
ExpirationDate = "05/10",
BillingAddress = new CreditCardAddressRequest
{
CountryName = "Mexico",
CountryCodeAlpha2 = "MX",
CountryCodeAlpha3 = "MEX",
CountryCodeNumeric = "484"
}
},
CustomFields = new Dictionary<string, string>
{
{ "store_me", "a custom value" }
}
};
string queryString = TestHelper.QueryStringForTR(trParams, request, gateway.Customer.TransparentRedirectURLForCreate(), service);
Result<Customer> result = gateway.Customer.ConfirmTransparentRedirect(queryString);
Assert.IsTrue(result.IsSuccess());
Customer customer = result.Target;
Assert.AreEqual("John", customer.FirstName);
Assert.AreEqual("Doe", customer.LastName);
Assert.AreEqual("John Doe", customer.CreditCards[0].CardholderName);
Assert.AreEqual("a custom value", customer.CustomFields["store_me"]);
Address address = customer.CreditCards[0].BillingAddress;
Assert.AreEqual("Mexico", address.CountryName);
Assert.AreEqual("MX", address.CountryCodeAlpha2);
Assert.AreEqual("MEX", address.CountryCodeAlpha3);
Assert.AreEqual("484", address.CountryCodeNumeric);
}
#pragma warning restore 0618