public T Update <T>(IUpdateSubscription subscription) where T : ISubscription
        {
            var request = _context.Create();

            request.ApiAction = RequestAction.UpdateSubscription;
            request.AddCurrency(_context.Currency);
            if (subscription.Customer != null)
            {
                request.AddCustomer(subscription.Customer);
            }
            if (subscription.Shipping != null)
            {
                request.AddShipping(subscription.Shipping);
            }
            request.UpdateSubscription(subscription);
            return((T)_context.Send(request));
        }
예제 #2
0
 /// <summary>
 /// Updates recurring billing charges for the subscriber.
 /// </summary>
 /// <param name="request">The subscription request.</param>
 /// <returns></returns>
 public override void UpdateSubscription(IUpdateSubscription subscription)
 {
     SetApiAction(RequestAction.UpdateSubscription);
     Queue(AuthorizeDotNetApi.Amount, subscription.Amount.ToString());
     //Queue(AuthorizeDotNetApi.BillingCycles, billingCycles.ToString());
     //Queue(AuthorizeDotNetApi.BillingInterval, billingInterval.ToString());
     Queue(AuthorizeDotNetApi.CreditCardNumber, subscription.CreditCard.CardNumber);
     Queue(AuthorizeDotNetApi.CreditCardExpiration, subscription.CreditCard.ExpirationMonth + subscription.CreditCard.ExpirationYear);
     Queue(AuthorizeDotNetApi.CreditCardCode, subscription.CreditCard.CVV);
     //Queue(AuthorizeDotNetApi.Email, request.CustomerEmail);
     //Queue(AuthorizeDotNetApi.TotalOccurences, totalOccurrences.ToString());
     Queue(AuthorizeDotNetApi.Description, subscription.Description);
     //Queue(AuthorizeDotNetApi.StartsOn, startsOn.ToString());
     Queue(AuthorizeDotNetApi.SubscriptionID, subscription.Id);
     Queue(AuthorizeDotNetApi.SubscriptionName, subscription.Name);
     Queue(AuthorizeDotNetApi.TrialAmount, subscription.TrialAmount.ToString());
     Queue(AuthorizeDotNetApi.TrialBillingCycles, subscription.TrialOccurrences.ToString());
 }
예제 #3
0
 /// <summary>
 /// Updates recurring billing charges for the given customer.
 /// </summary>
 /// <param name="request">The subscription request.</param>
 /// <returns></returns>
 public abstract void UpdateSubscription(IUpdateSubscription subscription);
예제 #4
0
 public T Update <T>(IUpdateSubscription subscription) where T : ISubscription
 {
     return(_repository.Update <T>(subscription));
 }