diff --git a/Gemfile b/Gemfile index e45e65f..851fabc 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,2 @@ -source :rubygems +source 'https://rubygems.org' gemspec diff --git a/Gemfile.lock b/Gemfile.lock index 28d7f80..a8bbf53 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,7 +4,7 @@ PATH paypal-recurring (1.1.0) GEM - remote: http://rubygems.org/ + remote: https://rubygems.org/ specs: activesupport (3.2.3) i18n (~> 0.6) diff --git a/lib/paypal/recurring/base.rb b/lib/paypal/recurring/base.rb index eb559d3..7100c5b 100644 --- a/lib/paypal/recurring/base.rb +++ b/lib/paypal/recurring/base.rb @@ -2,6 +2,7 @@ module PayPal module Recurring class Base attr_accessor :amount + attr_accessor :billing_cycles attr_accessor :cancel_url attr_accessor :currency attr_accessor :description @@ -189,6 +190,7 @@ def create_recurring_profile :frequency, :period, :email, + :billing_cycles, :trial_length, :trial_period, :trial_frequency, diff --git a/lib/paypal/recurring/request.rb b/lib/paypal/recurring/request.rb index 79aa49c..94952cf 100644 --- a/lib/paypal/recurring/request.rb +++ b/lib/paypal/recurring/request.rb @@ -52,6 +52,7 @@ class Request ATTRIBUTES = { :action => "ACTION", :amount => ["PAYMENTREQUEST_0_AMT", "AMT"], + :billing_cycles => "TOTALBILLINGCYCLES", :billing_type => "L_BILLINGTYPE0", :cancel_url => "CANCELURL", :currency => ["PAYMENTREQUEST_0_CURRENCYCODE", "CURRENCYCODE"], @@ -145,6 +146,7 @@ def client @client ||= begin Net::HTTP.new(uri.host, uri.port).tap do |http| http.use_ssl = true + http.ssl_version = :TLSv1_2 http.verify_mode = OpenSSL::SSL::VERIFY_PEER http.ca_file = CA_FILE end diff --git a/spec/paypal/request_spec.rb b/spec/paypal/request_spec.rb index 2a8da61..a2fd4be 100644 --- a/spec/paypal/request_spec.rb +++ b/spec/paypal/request_spec.rb @@ -6,6 +6,10 @@ subject.client.use_ssl?.should be_true end + it "uses TLSv1_2" do + subject.client.ssl_version.should == :TLSv1_2 + end + it "verifies certificate" do subject.client.verify_mode.should == OpenSSL::SSL::VERIFY_PEER end