/// <summary>
        /// Creates a <see cref="SubscriptionRequest"/>.
        /// </summary>
        /// <param name="paymentMethodToken">
        /// The payment method token.
        /// </param>
        /// <param name="planId">
        /// The plan id.
        /// </param>
        /// <param name="trialDuration">
        /// The trial duration.
        /// </param>
        /// <param name="trialDurationUnit">
        /// The trial duration unit.
        /// </param>
        /// <param name="addTrialPeriod">
        /// Adds a trial period to a plan that normally does not have one.
        /// </param>
        /// <returns>
        /// The <see cref="SubscriptionRequest"/>.
        /// </returns>
        public SubscriptionRequest CreateSubscriptionRequest(string paymentMethodToken, string planId, int trialDuration, SubscriptionDurationUnit trialDurationUnit, bool addTrialPeriod = false)
        {
            if (trialDurationUnit == null) trialDurationUnit = SubscriptionDurationUnit.MONTH;

            var request = CreateSubscriptionRequest(paymentMethodToken, planId);

            if (request.TrialDuration > 0) request.TrialDuration = trialDuration;

            request.TrialDurationUnit = trialDurationUnit;

            if (addTrialPeriod) request.HasTrialPeriod = true;

            return request;
        }
 /// <summary>
 /// Creates a <see cref="SubscriptionRequest"/>.
 /// </summary>
 /// <param name="paymentMethodToken">
 /// The payment method token.
 /// </param>
 /// <param name="planId">
 /// The plan id.
 /// </param>
 /// <param name="trialDuration">
 /// The trial duration.
 /// </param>
 /// <param name="trialDurationUnit">
 /// The trial duration unit.
 /// </param>
 /// <param name="addTrialPeriod">
 /// The add trial period.
 /// </param>
 /// <returns>
 /// The <see cref="Attempt{Subscription}"/>.
 /// </returns>
 public Attempt<Subscription> Create(string paymentMethodToken, string planId, int trialDuration, SubscriptionDurationUnit trialDurationUnit, bool addTrialPeriod = false)
 {
     return this.Create(this.RequestFactory.CreateSubscriptionRequest(paymentMethodToken, planId, trialDuration, trialDurationUnit, addTrialPeriod));
 }
Ejemplo n.º 3
0
        /// <summary>
        /// Creates a <see cref="SubscriptionRequest"/>.
        /// </summary>
        /// <param name="paymentMethodToken">
        /// The payment method token.
        /// </param>
        /// <param name="planId">
        /// The plan id.
        /// </param>
        /// <param name="trialDuration">
        /// The trial duration.
        /// </param>
        /// <param name="trialDurationUnit">
        /// The trial duration unit.
        /// </param>
        /// <param name="addTrialPeriod">
        /// Adds a trial period to a plan that normally does not have one.
        /// </param>
        /// <param name="merchantAccountId"></param>
        /// <returns>
        /// The <see cref="SubscriptionRequest"/>.
        /// </returns>
        public SubscriptionRequest CreateSubscriptionRequest(string paymentMethodToken, string planId, int trialDuration, SubscriptionDurationUnit trialDurationUnit, bool addTrialPeriod = false, string merchantAccountId = "")
        {
            if (trialDurationUnit == null)
            {
                trialDurationUnit = SubscriptionDurationUnit.MONTH;
            }

            var request = this.CreateSubscriptionRequest(paymentMethodToken, planId, null, merchantAccountId);

            if (request.TrialDuration > 0)
            {
                request.TrialDuration = trialDuration;
            }

            request.TrialDurationUnit = trialDurationUnit;

            if (addTrialPeriod)
            {
                request.HasTrialPeriod = true;
            }

            return(request);
        }
 /// <summary>
 /// Creates a <see cref="SubscriptionRequest"/>.
 /// </summary>
 /// <param name="paymentMethodToken">
 /// The payment method token.
 /// </param>
 /// <param name="planId">
 /// The plan id.
 /// </param>
 /// <param name="trialDuration">
 /// The trial duration.
 /// </param>
 /// <param name="trialDurationUnit">
 /// The trial duration unit.
 /// </param>
 /// <param name="addTrialPeriod">
 /// The add trial period.
 /// </param>
 /// <returns>
 /// The <see cref="Attempt{Subscription}"/>.
 /// </returns>
 public Attempt <Subscription> Create(string paymentMethodToken, string planId, int trialDuration, SubscriptionDurationUnit trialDurationUnit, bool addTrialPeriod = false)
 {
     return(Create(RequestFactory.CreateSubscriptionRequest(paymentMethodToken, planId, trialDuration, trialDurationUnit, addTrialPeriod)));
 }