public static void Run(String ApiLoginID, String ApiTransactionKey, string RefID) { Console.WriteLine("Create Subscription Sample"); ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = ApiTransactionKey, }; paymentScheduleTypeInterval interval = new paymentScheduleTypeInterval(); interval.length = 1; // months can be indicated between 1 and 12 interval.unit = ARBSubscriptionUnitEnum.months; paymentScheduleType schedule = new paymentScheduleType { interval = interval, startDate = DateTime.Now.AddDays(1), // start date should be tomorrow totalOccurrences = 9999 // 999 indicates no end date }; #region Payment Information var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718" }; //standard api call to retrieve response paymentType cc = new paymentType { Item = creditCard }; #endregion nameAndAddressType addressInfo = new nameAndAddressType() { firstName = "Calvin", lastName = "Brown" }; ARBSubscriptionType subscriptionType = new ARBSubscriptionType() { amount = 35.55m, paymentSchedule = schedule, billTo = addressInfo, payment = cc }; var request = new ARBCreateSubscriptionRequest { refId = RefID, subscription = subscriptionType }; var controller = new ARBCreateSubscriptionController(request); // instantiate the contoller that will call the service controller.Execute(); ARBCreateSubscriptionResponse response = controller.GetApiResponse(); // get the response from the service (errors contained if any) //validate if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) { Console.WriteLine("Success, Subscription Code : " + response.subscriptionId.ToString()); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); } }
public static ANetApiResponse Run(string ApiLoginID, string ApiTransactionKey, string subscriptionId) { Console.WriteLine("Update Subscription Sample"); ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = ApiTransactionKey, }; paymentScheduleType schedule = new paymentScheduleType { startDate = DateTime.Now.AddDays(1), // start date should be tomorrow totalOccurrences = 9999 // 999 indicates no end date }; #region Payment Information var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718" }; //standard api call to retrieve response paymentType cc = new paymentType { Item = creditCard }; #endregion nameAndAddressType addressInfo = new nameAndAddressType() { firstName = "Calvin", lastName = "Brown" }; customerProfileIdType customerProfile = new customerProfileIdType() { customerProfileId = "1232312", customerPaymentProfileId = "2132132", customerAddressId = "1233432" }; ARBSubscriptionType subscriptionType = new ARBSubscriptionType() { amount = 35.55m, paymentSchedule = schedule, billTo = addressInfo, payment = cc //You can pass a profile to update subscription //,profile = customerProfile }; //Please change the subscriptionId according to your request var request = new ARBUpdateSubscriptionRequest { subscription = subscriptionType, subscriptionId = subscriptionId }; var controller = new ARBUpdateSubscriptionController(request); controller.Execute(); ARBUpdateSubscriptionResponse response = controller.GetApiResponse(); //validate if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response != null && response.messages.message != null) { Console.WriteLine("Success, RefID Code : " + response.refId); } } else if(response != null) { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); } return response; }
public static void paymentScheduleType(paymentScheduleType argument) { if (null != argument) { paymentScheduleTypeInterval(argument.interval); if (DateTime.MinValue != argument.startDate) { argument.startDateSpecified = true; } if (0 <= argument.totalOccurrences) { argument.totalOccurrencesSpecified = true; } if (0 <= argument.trialOccurrences) { argument.trialOccurrencesSpecified = true; } } }
public static void paymentScheduleType ( paymentScheduleType request) { if ( null != request) { if (DateTime.MinValue != request.startDate) { request.startDateSpecified = true; } if (0 <= request.totalOccurrences) { request.totalOccurrencesSpecified = true; } if (0 <= request.trialOccurrences) { request.trialOccurrencesSpecified = true; } } }