public virtual WePaySubscription Modify(SubscriptionModifyArguments arguments) { var parameters = ParameterBuilder.ApplyParameters(arguments); var response = Requestor.PostStringBearer(Urls.SubscriptionModify, AccessToken, parameters); return WepayMapping<WePaySubscription>.MapFromJson(response); }
public ActionResult TestAll() { #region Variables var clientSecret = Request.Form["clientSecret"]; long clientId = 0; long.TryParse(Request.Form["clientId"], out clientId); var email = Request.Form["email"]; var firstName = Request.Form["firstName"]; var lastName = Request.Form["lastName"]; var callbackUri = Request.Form["callbackUri"]; var userAgent = Request.UserAgent; var IPAddress = Request.UserHostAddress; WepayAddress Address1 = new WepayAddress { Address1 = "605 Seward Ave NW", City="Grand Rapids", State="MI", Zip="49504", Country="US" }; #endregion #region SetUp #region User var wePayUserService = new WePay.WePayUserService(null, clientId, clientSecret); var ParametersRegister = new UserRegisterArguments { ClientId = clientId, ClientSecret = clientSecret, Email = email, FirstName = firstName, LastName = lastName, OriginalIp = IPAddress, OriginalDevice = userAgent, TOSAcceptanceTime = DateTime.Now }; WePayUserRegisterd user = null; try { user = wePayUserService.Register(ParametersRegister); } catch (WePayException ex) { return View("Error", ex); } #endregion #region Accounts var wePayAccountService = new WePay.WePayAccountrService(user.AccessToken); WepayAccount account = null; try { account = wePayAccountService.Create(new AccountCreateArgument { Name = "SDK Test", Description = "An account that is a test made one.", ReferenceId = "abc123", Type = "personal", ImageUri = "http://www.payitsquare.com/content/img/design/logo.png", mcc = 7299, Country = "US", currencies = new string[] { "USD" } }); } catch (WePayException ex) { return View("Error", ex); } WepayAccount accountDelete = null; try { accountDelete = wePayAccountService.Create(new AccountCreateArgument { Name = "SDK Test delete", Description = "An account that is a test made one to delete." }); } catch (WePayException ex) { return View("Error", ex); } #endregion #region CreditCard WePayCreditCardState CreditCard = null; WePayCreditCardState CreditCardDelete = null; WePayCreditCardState CreditCardAuthorize = null; var wePayCreditCardService = new WePay.WePayCreditCardService(user.AccessToken); try { CreditCard = wePayCreditCardService.Create(new CreditCardCreateArguments { ClientId = clientId, CCnumber = "4003830171874018", CVV = 123, ExpirationMonth = 12, ExpirationYear = 25, FullName = "John Smith", Email = "*****@*****.**", Address = Address1, OriginalIp = IPAddress, OriginalDevice = userAgent }); } catch (WePayException ex) { return View("Error", ex); } try { CreditCardDelete = wePayCreditCardService.Create(new CreditCardCreateArguments { ClientId = clientId, CCnumber = "5496198584584769", CVV = 123, ExpirationMonth = 12, ExpirationYear = 25, FullName = "Jan Smith", Email = "*****@*****.**", Address = Address1, OriginalIp = IPAddress, OriginalDevice = userAgent }); } catch (WePayException ex) { return View("Error", ex); } try { CreditCardAuthorize = wePayCreditCardService.Create(new CreditCardCreateArguments { ClientId = clientId, CCnumber = "5496198584584769", CVV = 123, ExpirationMonth = 12, ExpirationYear = 25, FullName = "Jim Smith", Email = "*****@*****.**", Address = Address1, OriginalIp = IPAddress, OriginalDevice = userAgent }); } catch (WePayException ex) { return View("Error", ex); } #endregion #region Preapproval WePayPreapprovalCreate Preapproval = null; WePayPreapprovalCreate PreapprovalCancel = null; var wePayPreapprovalService = new WePay.WePayPreapprovalService(user.AccessToken); try { Preapproval = wePayPreapprovalService.Create(new PreapprovalCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a checkout Preapproval", Amount = (decimal)100.75, Currency = "USD", AppFee = (decimal)3.02, Period = "once", Frequency = 1, FeePayer = "payee", PayerEmailMessage = "Thank you for the money.", PaymentMethodId = CreditCard.CreditCardId, PaymentMethodType = "credit_card" }); } catch (WePayException ex) { return View("Error", ex); } try { PreapprovalCancel = wePayPreapprovalService.Create(new PreapprovalCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a checkout Preapproval Cancel", Amount = (decimal)100.75, Currency = "USD", AppFee = (decimal)3.02, Period = "once", Frequency = 1, FeePayer = "payee", PayerEmailMessage = "Thank you for the money.", PaymentMethodId = CreditCard.CreditCardId, PaymentMethodType = "credit_card" }); } catch (WePayException ex) { return View("Error", ex); } #endregion #region Checkout WePayCheckout checkout = null; WePayCheckout checkoutCancel = null; WePayCheckout checkoutRefund = null; var wePayCheckoutService = new WePay.WePayCheckoutService(user.AccessToken); try { checkout = wePayCheckoutService.Create(new CheckoutCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a checkout", Type = "personal", Amount = (decimal)100.75, Currency = "USD", Fee = new WepayFee { AppFee = (decimal)3.02, FeePayer = "payee" }, EmailMessage = new WepayEmailMessage { ToPayee = "You have just got money.", ToPayer = "Thank you for the money.", }, PaymentMethod = new WepayPaymentMethod { Type = "credit_card", CreditCard = new WepayCreditCardInfo { Id = CreditCard.CreditCardId } } }); } catch (WePayException ex) { return View("Error", ex); } try { checkoutCancel = wePayCheckoutService.Create(new CheckoutCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a checkout", Type = "personal", Amount = (decimal)100.75, Currency = "USD", Fee = new WepayFee { AppFee = (decimal)3.02, FeePayer = "payee" }, EmailMessage = new WepayEmailMessage { ToPayee = "You have just got money.", ToPayer = "Thank you for the money.", }, PaymentMethod = new WepayPaymentMethod { Type = "credit_card", CreditCard = new WepayCreditCardInfo { Id = CreditCard.CreditCardId } } }); } catch (WePayException ex) { return View("Error", ex); } try { checkoutRefund = wePayCheckoutService.Create(new CheckoutCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a checkout", Type = "personal", Amount = (decimal)100.75, Currency = "USD", Fee = new WepayFee { AppFee = (decimal)3.02, FeePayer = "payee" }, EmailMessage = new WepayEmailMessage { ToPayee = "You have just got money.", ToPayer = "Thank you for the money.", }, PaymentMethod = new WepayPaymentMethod { Type = "credit_card", CreditCard = new WepayCreditCardInfo { Id = CreditCard.CreditCardId } } }); } catch (WePayException ex) { return View("Error", ex); } #endregion #region Subscription Plan WePaySubscriptionPlan SubsPlan = null; WePaySubscriptionPlan SubsPlanDelete = null; var wePaySubscriptionPlanService = new WePay.WePaySubscriptionPlanService(user.AccessToken); try { SubsPlan = wePaySubscriptionPlanService.Create(new SubscriptionPlanCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a Subscription Plan", Name = "Test a Subscription Plan", Amount = (decimal)100.75, Currency = "USD", AppFee = (decimal)3.02, Period = "monthly", SetupFee = (decimal)0.50 }); } catch (WePayException ex) { return View("Error", ex); } try { SubsPlanDelete = wePaySubscriptionPlanService.Create(new SubscriptionPlanCreateArguments { AccountId = account.AccountId, ShortDescription = "Test a Subscription Plan delete", Name = "Test a Subscription Plan delete", Amount = (decimal)100.75, Currency = "USD", AppFee = (decimal)3.02, Period = "monthly", SetupFee = (decimal)0.50 }); } catch (WePayException ex) { return View("Error", ex); } #endregion #region Subscription WePaySubscriptionCreate Subs = null; WePaySubscriptionCreate SubsCancel = null; var wePaySubscriptionService = new WePay.WePaySubscriptionService(user.AccessToken); try { Subs = wePaySubscriptionService.Create(new SubscriptionCreateArguments { SubscriptionPlanId = SubsPlan.SubscriptionPlanId, PaymentMethodId = CreditCard.CreditCardId, PaymentMethodType = "credit_card" }); } catch (WePayException ex) { return View("Error", ex); } try { SubsCancel = wePaySubscriptionService.Create(new SubscriptionCreateArguments { SubscriptionPlanId = SubsPlanDelete.SubscriptionPlanId, PaymentMethodId = CreditCard.CreditCardId, PaymentMethodType = "credit_card" }); } catch (WePayException ex) { return View("Error", ex); } #endregion #region Subscription Charge WePaySubscriptionCharge[] SubsCharge = null; var wePaySubscriptionChargeService = new WePay.WePaySubscriptionChargeService(user.AccessToken); try { SubsCharge = wePaySubscriptionChargeService.Find(new SubscriptionChargeFindArguments { SubscriptionId = Subs.SubscriptionId }); } catch (WePayException ex) { return View("Error", ex); } #endregion #endregion #region Batch WePayBatchService wePayBatchService = new WePay.WePayBatchService(user.AccessToken, clientId, clientSecret); #region BatchArguments #region User var UserSendConfirmation = new UserSendConfirmationArguments { EmailMessage = "Test From Wepay SDK. Made by Pay it Square team." }; var UserModify = new UserModifyArguments { CallbackUri = callbackUri }; #endregion #region App var AppParameters = new AppArguments { ClientId = clientId, ClientSecret = clientSecret }; var AppsModify = new AppModifyArguments { ClientId = clientId, ClientSecret = clientSecret}; #endregion #region Account var AccountParameters = new AccountArguments { AccountId = account.AccountId }; var AccountFindParameters = new AccountFindArguments { SortOrder = "ASC" }; var AccountModifyParameters = new AccountModifyArguments { AccountId = account.AccountId, Description = "SDK test modify" }; var AccountGetReserveDetailsParameters = new AccountGetReserveDetailsArguments { AccountId = account.AccountId }; var AccountUpdateUriParameters = new AccountGetUpdateUriArguments { AccountId = account.AccountId }; var AccountDeleteParameters = new AccountDeleteArguments { AccountId = accountDelete.AccountId, Reason = "Test for delete" }; #endregion #region CreditCard var CreditCardParameters = new CreditCardArguments { ClientId = clientId, ClientSecret = clientSecret, CreditCardId = CreditCard.CreditCardId }; var CreditCardFindParameters = new CreditCardFindArguments { ClientId = clientId, ClientSecret = clientSecret }; var CreditCardAuthorizeParameters = new CreditCardArguments { ClientId = clientId, ClientSecret = clientSecret, CreditCardId = CreditCardAuthorize.CreditCardId }; var CreditCardDeleteParameters = new CreditCardArguments { ClientId = clientId, ClientSecret = clientSecret, CreditCardId = CreditCardDelete.CreditCardId }; #endregion #region preapproval var PreapprovalParameters = new PreapprovalArguments { PreapprovalId = Preapproval.PreapprovalId }; var PreapprovalFindParameters = new PreapprovalFindArguments { AccountId = account.AccountId }; var PreapprovalModifyParameters = new PreapprovalModifyArguments { PreapprovalId = Preapproval.PreapprovalId }; var PreapprovalCancelParameters = new PreapprovalArguments { PreapprovalId = PreapprovalCancel.PreapprovalId }; #endregion #region Checkout var CheckoutParameters = new CheckoutArguments { CheckoutId = checkout.CheckoutId ?? 0 }; var CheckoutFindParameters = new CheckoutFindArguments { AccountId = account.AccountId }; var CheckoutModifyParameters = new CheckoutModifyArguments { CheckoutId = checkout.CheckoutId }; var CheckoutCancelParameters = new CheckoutCancelArguments { CheckoutId = checkoutCancel.CheckoutId, CancelReason = "To test the sdk" }; var CheckoutRefundParameters = new CheckoutRefundArguments { CheckoutId = checkoutRefund.CheckoutId }; #endregion #region Subscription Plan var SubPlanParameters = new SubscriptionPlanArguments { SubscriptionPlanId = SubsPlan.SubscriptionPlanId }; var SubPlanFindParameters = new SubscriptionPlanFindArguments { AccountId = account.AccountId }; var SubPlanModifyParameters = new SubscriptionPlanModifyeArguments { SubscriptionPlanId = SubsPlan.SubscriptionPlanId }; var SubPlanDeleteParameters = new SubscriptionPlanDeleteArguments { SubscriptionPlanId = SubsPlanDelete.SubscriptionPlanId, reason = "Test the delete." }; #endregion #region Subscription var SubParameters = new SubscriptionArguments { SubscriptionId = Subs.SubscriptionId }; var SubFindParameters = new SubscriptionFindArguments { SubscriptionPlanId = SubsPlan.SubscriptionPlanId }; var SubModifyParameters = new SubscriptionModifyArguments { SubscriptionId = Subs.SubscriptionId }; var SubCancelParameters = new SubscriptionCancelArguments { SubscriptionId = SubsCancel.SubscriptionId, Reason = "Testing the Cancel" }; #endregion #region Subscription Charge var SubChargeParameters = new SubscriptionChargeArguments { subscriptionChargeId = SubsCharge[0].SubscriptionChargeId }; var SubChargeRefundParameters = new SubscriptionChargeRefundArguments { SubscriptionChargeId = SubsCharge[0].SubscriptionChargeId, Reason = "Test the Refund" }; #endregion #region Withdrawal var WithdrawalFindParameters = new WithdrawalFindArguments { AccountId = account.AccountId }; #endregion #endregion #region BatchCalls try { var batchCalls = wePayBatchService.Create(new BatchArguments { Calls = new BatchCallsArguments[35] { #region User new BatchCallsArguments { Call = "/user", Authorization = user.AccessToken, ReferenceId = "1" }, new BatchCallsArguments { Call = UserSendConfirmation.BatchUrl(), ReferenceId = "2", Authorization = user.AccessToken, Parameters = UserSendConfirmation }, new BatchCallsArguments { Call = UserModify.BatchUrl(), ReferenceId = "3", Authorization = user.AccessToken, Parameters = UserModify }, #endregion #region App new BatchCallsArguments { Call = AppParameters.BatchUrl(), Authorization = user.AccessToken, ReferenceId = "4", Parameters = AppParameters }, new BatchCallsArguments { Call = AppsModify.BatchUrl(), ReferenceId = "5", Authorization = user.AccessToken, Parameters = AppsModify }, #endregion #region Account new BatchCallsArguments { Call = AccountParameters.BatchUrl(), Authorization = user.AccessToken, ReferenceId = "6", Parameters = AccountParameters }, new BatchCallsArguments { Call = AccountFindParameters.BatchUrl(), ReferenceId = "7", Authorization = user.AccessToken, Parameters = AccountFindParameters }, new BatchCallsArguments { Call = AccountModifyParameters.BatchUrl(), ReferenceId = "8", Authorization = user.AccessToken, Parameters = AccountModifyParameters }, new BatchCallsArguments { Call = AccountGetReserveDetailsParameters.BatchUrl(), ReferenceId = "9", Authorization = user.AccessToken, Parameters = AccountGetReserveDetailsParameters }, new BatchCallsArguments { Call = AccountUpdateUriParameters.BatchUrl(), ReferenceId = "10", Authorization = user.AccessToken, Parameters = AccountUpdateUriParameters }, new BatchCallsArguments { Call = AccountDeleteParameters.BatchUrl(), ReferenceId = "11", Authorization = user.AccessToken, Parameters = AccountDeleteParameters }, #endregion #region CreditCard new BatchCallsArguments { Call = CreditCardParameters.BatchUrl(BatchUrlType.Get), ReferenceId = "12", Authorization = user.AccessToken, Parameters = CreditCardParameters }, new BatchCallsArguments { Call = CreditCardFindParameters.BatchUrl(), ReferenceId = "13", Authorization = user.AccessToken, Parameters = CreditCardFindParameters }, new BatchCallsArguments { Call = CreditCardAuthorizeParameters.BatchUrl(BatchUrlType.Authorize), ReferenceId = "14", Authorization = user.AccessToken, Parameters = CreditCardAuthorizeParameters }, new BatchCallsArguments { Call = CreditCardDeleteParameters.BatchUrl(BatchUrlType.Delete), ReferenceId = "15", Authorization = user.AccessToken, Parameters = CreditCardDeleteParameters }, #endregion #region preapproval new BatchCallsArguments { Call = PreapprovalParameters.BatchUrl(BatchUrlType.Get), ReferenceId = "16", Authorization = user.AccessToken, Parameters = PreapprovalParameters }, new BatchCallsArguments { Call = PreapprovalFindParameters.BatchUrl(), ReferenceId = "17", Authorization = user.AccessToken, Parameters = PreapprovalFindParameters }, new BatchCallsArguments { Call = PreapprovalModifyParameters.BatchUrl(), ReferenceId = "18", Authorization = user.AccessToken, Parameters = PreapprovalModifyParameters }, new BatchCallsArguments { Call = PreapprovalCancelParameters.BatchUrl(BatchUrlType.Cancel), ReferenceId = "19", Authorization = user.AccessToken, Parameters = PreapprovalCancelParameters }, #endregion #region Checkout new BatchCallsArguments { Call = CheckoutParameters.BatchUrl(BatchUrlType.Get), ReferenceId = "20", Authorization = user.AccessToken, Parameters = CheckoutParameters }, new BatchCallsArguments { Call = CheckoutFindParameters.BatchUrl(), ReferenceId = "21", Authorization = user.AccessToken, Parameters = CheckoutFindParameters }, new BatchCallsArguments { Call = CheckoutModifyParameters.BatchUrl(), ReferenceId = "22", Authorization = user.AccessToken, Parameters = CheckoutModifyParameters }, new BatchCallsArguments { Call = CheckoutCancelParameters.BatchUrl(), ReferenceId = "23", Authorization = user.AccessToken, Parameters = CheckoutCancelParameters }, new BatchCallsArguments { Call = CheckoutRefundParameters.BatchUrl(), ReferenceId = "24", Authorization = user.AccessToken, Parameters = CheckoutRefundParameters }, #endregion #region Subscription Plan new BatchCallsArguments { Call = SubPlanParameters.BatchUrl(), ReferenceId = "25", Authorization = user.AccessToken, Parameters = SubPlanParameters }, new BatchCallsArguments { Call = SubPlanFindParameters.BatchUrl(), ReferenceId = "26", Authorization = user.AccessToken, Parameters = SubPlanFindParameters }, new BatchCallsArguments { Call = SubPlanModifyParameters.BatchUrl(), ReferenceId = "27", Authorization = user.AccessToken, Parameters = SubPlanModifyParameters }, new BatchCallsArguments { Call = SubPlanDeleteParameters.BatchUrl(), ReferenceId = "28", Authorization = user.AccessToken, Parameters = SubPlanDeleteParameters }, #endregion #region Subscription new BatchCallsArguments { Call = SubParameters.BatchUrl(), ReferenceId = "29", Authorization = user.AccessToken, Parameters = SubParameters }, new BatchCallsArguments { Call = SubFindParameters.BatchUrl(), ReferenceId = "30", Authorization = user.AccessToken, Parameters = SubFindParameters }, new BatchCallsArguments { Call = SubModifyParameters.BatchUrl(), ReferenceId = "31", Authorization = user.AccessToken, Parameters = SubModifyParameters }, new BatchCallsArguments { Call = SubCancelParameters.BatchUrl(), ReferenceId = "32", Authorization = user.AccessToken, Parameters = SubCancelParameters }, #endregion #region Subscription Charge new BatchCallsArguments { Call = SubChargeParameters.BatchUrl(), ReferenceId = "33", Authorization = user.AccessToken, Parameters = SubChargeParameters }, new BatchCallsArguments { Call = SubChargeRefundParameters.BatchUrl(), ReferenceId = "34", Authorization = user.AccessToken, Parameters = SubChargeRefundParameters }, #endregion #region Withdrawal new BatchCallsArguments { Call = WithdrawalFindParameters.BatchUrl(), ReferenceId = "36", Authorization = user.AccessToken, Parameters = WithdrawalFindParameters }, #endregion } }); return View(batchCalls); } catch (WePayException ex) { return View("Error", ex); } #endregion #endregion }