Sha256: c6050da59168217ea455c5cec6882f432d52799c74b2807269c2743806dbcc03

Contents?: true

Size: 1.77 KB

Versions: 71

Compression:

Stored size: 1.77 KB

Contents

module PaymentPlanExtension

  def add_billing_payment_plan(session_key, billing_id, billing_type_id, name, number, month, year, start_date=nil, end_date=nil, options={})
    parameters =
      {
          'BillingScheduleId': billing_id,
          'BillingTypeId': billing_type_id,
          'StartDate': start_date,
          'EndDate': end_date,
          "Card": {
            "Name": name,
            "Number": number,
            "ExpiryMonth": month,
            "ExpiryYear": year
          }
      }
    options.merge!(basic_auth: @auth, headers: @headers)
    options.merge!(:body => parameters)
    response = self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Payments/Plan/Schedule"), options)
    JSON.parse(response.body)
  end

  def preview_billing_payment_plan(session_key, billing_id, start_date=nil, end_date=nil, options={})
    parameters =
      {
          'BillingScheduleId': billing_id,
          'StartDate': start_date,
          'EndDate': end_date
      }
    options.merge!(basic_auth: @auth, headers: @headers)
    options.merge!(:body => parameters)
    response = self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Payments/Plan/Schedule/Preview"), options)
    JSON.parse(response.body)
  end

  def validate_payment_plan(session_key, options={})
    parameters =
      {
          'ValidatePaymentPlan': true
      }
    options.merge!(basic_auth: @auth, headers: @headers)
    options.merge!(:body => parameters)
    response = self.class.post(base_api_endpoint("Web/Cart/#{session_key}/Validate"), options)
    JSON.parse(response.body)
  end

  def remove_payment_plan(session_key, options={})
    options.merge!(basic_auth: @auth, headers: @headers)
    self.class.delete(base_api_endpoint("Web/Cart/#{session_key}/Payments/Plan"), options)
  end
end

Version data entries

71 entries across 71 versions & 1 rubygems

Version Path
tessitura_rest-1.1.6 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.1.5 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.1.4 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.1.3 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.1.2 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.1.1 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.1.0 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-1.0.0 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.9.1.3 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.9.1.2 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.9.1.1 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.9.1 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.9.0 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.9 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.8 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.7 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.6.9 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.6.8 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.6.7 lib/tessitura_rest/web/payment_plan_extension.rb
tessitura_rest-0.8.6.6 lib/tessitura_rest/web/payment_plan_extension.rb