/
C# SDK Sample: Customer Credit Cards
C# SDK Sample: Customer Credit Cards
using System; using System.Collections.Generic; using com.ultracart.admin.v2.Api; using com.ultracart.admin.v2.Client; using com.ultracart.admin.v2.Model; using NUnit.Framework; namespace SdkSample { // This sample uses NUnit Framework [TestFixture] public class UpdateCustomerCreditCard { private Customer CreateNewCustomer(CustomerApi api) { var random = new Random(); var i = random.Next(); Customer customer = new Customer { Email = "sample" + i + "@ultracart.com", Password = "change_me" }; CustomerResponse response = api.InsertCustomer(customer); return response.Customer; } // HostedFields code: // https://ultracart.atlassian.net/wiki/spaces/ucdoc/pages/160235523/C+SDK+Sample+Hosted+Fields+Credit+Card+Numbers private HostedFields.JsonResult UploadCardNumber(string merchantId, string cardNumber) { HostedFields hostedFields = HostedFields.Create(merchantId); return hostedFields.StoreNumber(cardNumber); } [Test] public void AddTwoCreditCards() { // See https://secure.ultracart.com/merchant/configuration/apiManagementApp.do const string simpleKey = "508052342b482a015d85c69048030a0005a9da7cea5afe015d85c69048030a00"; Configuration.Default.ApiKey.Add("x-ultracart-simple-key", simpleKey); Configuration.Default.DefaultHeader.Add("X-UltraCart-Api-Version", "2017-03-01"); var api = new CustomerApi(); Customer customer = CreateNewCustomer(api); // add a credit card. // use hosted fields to upload the credit card numbers. // See: https://github.com/UltraCart/hosted_fields const string merchantId = "DEMO"; const string cardNumber1 = "4444333322221111"; const int expYear1 = 2025; const int expMonth1 = 2; HostedFields.JsonResult uploadResult1 = UploadCardNumber(merchantId, cardNumber1); CustomerCard card1 = new CustomerCard { CardExpirationMonth = expMonth1, CardExpirationYear = expYear1, CardNumberToken = uploadResult1.token, CardNumber = uploadResult1.maskedValue, CardType = uploadResult1.cardType }; const string cardNumber2 = "4111111111111111"; const int expYear2 = 2027; const int expMonth2 = 6; HostedFields.JsonResult uploadResult2 = UploadCardNumber(merchantId, cardNumber2); CustomerCard card2 = new CustomerCard { CardExpirationMonth = expMonth2, CardExpirationYear = expYear2, CardNumberToken = uploadResult2.token, CardNumber = uploadResult2.maskedValue, CardType = uploadResult2.cardType }; customer.Cards = new List<CustomerCard> {card1, card2}; String expansion = "billing,shipping,cards,pricing_tiers"; CustomerResponse customerResponse = api.UpdateCustomer(customer, customer.CustomerProfileOid, expansion); if (customerResponse.Success == true) { Console.WriteLine(customerResponse.Customer); } else { Console.WriteLine(customerResponse.Error.ErrorCode); Console.WriteLine(customerResponse.Error.DeveloperMessage); Console.WriteLine(customerResponse.Error.UserMessage); Console.WriteLine(customerResponse.Error.MoreInfo); } } [Test] public void UpdateCreditCard() { // See https://secure.ultracart.com/merchant/configuration/apiManagementApp.do const string simpleKey = "508052342b482a015d85c69048030a0005a9da7cea5afe015d85c69048030a00"; Configuration.Default.ApiKey.Add("x-ultracart-simple-key", simpleKey); Configuration.Default.DefaultHeader.Add("X-UltraCart-Api-Version", "2017-03-01"); var api = new CustomerApi(); const int sampleCustomerProfileId = 3336562; const string expansion = "billing,shipping,cards,pricing_tiers"; CustomerResponse customerResponse = api.GetCustomer(sampleCustomerProfileId, expansion); Customer customer = customerResponse.Customer; // I know this customer has a credit card on file. CustomerCard card = customer.Cards[0]; card.CardExpirationMonth = 12; card.CardExpirationYear = 2035; customerResponse = api.UpdateCustomer(customer, customer.CustomerProfileOid, expansion); if (customerResponse.Success == true) { Console.WriteLine(customerResponse.Customer); } else { Console.WriteLine(customerResponse.Error.ErrorCode); Console.WriteLine(customerResponse.Error.DeveloperMessage); Console.WriteLine(customerResponse.Error.UserMessage); Console.WriteLine(customerResponse.Error.MoreInfo); } } } }
, multiple selections available,
Related content
C# SDK Sample: Create customer
C# SDK Sample: Create customer
More like this
Collecting Credit Card Numbers with Rest API
Collecting Credit Card Numbers with Rest API
More like this
UltraCart Hosted Credit Card Fields
UltraCart Hosted Credit Card Fields
More like this
PHP SDK Example: Query Auto Order for Customer Profile and Update Credit Card Information
PHP SDK Example: Query Auto Order for Customer Profile and Update Credit Card Information
More like this
C# SDK Sample: Initializing Routine
C# SDK Sample: Initializing Routine
More like this
C# SDK Sample: Update auto order item options
C# SDK Sample: Update auto order item options
More like this