From caa363534a54635b28d66e088f4d982302ecef0d Mon Sep 17 00:00:00 2001 From: Neha Jain Date: Wed, 5 Feb 2014 13:50:30 -0800 Subject: [PATCH] Add ability to specify TOTALBILLINGCYCLES when creating recurring profile --- lib/paypal/recurring/base.rb | 2 ++ lib/paypal/recurring/request.rb | 1 + spec/paypal/request_spec.rb | 4 ++++ spec/paypal/response/create_recurring_profile_spec.rb | 3 ++- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/paypal/recurring/base.rb b/lib/paypal/recurring/base.rb index eb559d3..2191a89 100644 --- a/lib/paypal/recurring/base.rb +++ b/lib/paypal/recurring/base.rb @@ -21,6 +21,7 @@ class Base attr_accessor :refund_type attr_accessor :return_url attr_accessor :start_at + attr_accessor :billing_length attr_accessor :token attr_accessor :transaction_id attr_accessor :item_category @@ -188,6 +189,7 @@ def create_recurring_profile :ipn_url, :frequency, :period, + :billing_length, :email, :trial_length, :trial_period, diff --git a/lib/paypal/recurring/request.rb b/lib/paypal/recurring/request.rb index 79aa49c..efac720 100644 --- a/lib/paypal/recurring/request.rb +++ b/lib/paypal/recurring/request.rb @@ -75,6 +75,7 @@ class Request :payer_id => "PAYERID", :payment_action => "PAYMENTREQUEST_0_PAYMENTACTION", :period => "BILLINGPERIOD", + :billing_length => "TOTALBILLINGCYCLES", :profile_id => "PROFILEID", :reference => ["PROFILEREFERENCE", "PAYMENTREQUEST_0_CUSTOM", "PAYMENTREQUEST_0_INVNUM"], :refund_type => "REFUNDTYPE", diff --git a/spec/paypal/request_spec.rb b/spec/paypal/request_spec.rb index 2a8da61..749b03a 100644 --- a/spec/paypal/request_spec.rb +++ b/spec/paypal/request_spec.rb @@ -132,5 +132,9 @@ it "normalizes locale" do subject.normalize_params(:locale => :us).should == {:LOCALECODE => "US"} end + + it "normalizes billing length" do + subject.normalize_params(:billing_length => 1).should == {:TOTALBILLINGCYCLES => 1} + end end end diff --git a/spec/paypal/response/create_recurring_profile_spec.rb b/spec/paypal/response/create_recurring_profile_spec.rb index 665aca4..b74e2f8 100644 --- a/spec/paypal/response/create_recurring_profile_spec.rb +++ b/spec/paypal/response/create_recurring_profile_spec.rb @@ -19,7 +19,8 @@ :payer_id => "D2U7M6PTMJBML", :start_at => Time.now, :failed => 1, - :outstanding => :next_billing + :outstanding => :next_billing, + :billing_length => 1 }) ppr.create_recurring_profile }