diff --git a/lib/paypal/recurring/base.rb b/lib/paypal/recurring/base.rb index 5778880..9a8d35e 100644 --- a/lib/paypal/recurring/base.rb +++ b/lib/paypal/recurring/base.rb @@ -11,6 +11,7 @@ class Base attr_accessor :initial_amount attr_accessor :initial_amount_action attr_accessor :ipn_url + attr_accessor :locale attr_accessor :outstanding attr_accessor :payer_id attr_accessor :period @@ -45,7 +46,20 @@ def request # :nodoc: # response.checkout_url # def checkout - params = collect(:amount, :return_url, :cancel_url, :currency, :description, :ipn_url).merge(:payment_action => "Authorization", :no_shipping => 1, :L_BILLINGTYPE0 => "RecurringPayments") + params = collect( + :locale, + :amount, + :return_url, + :cancel_url, + :currency, + :description, + :ipn_url + ).merge( + :payment_action => "Authorization", + :no_shipping => 1, + :L_BILLINGTYPE0 => "RecurringPayments" + ) + request.run(:checkout, params) end diff --git a/lib/paypal/recurring/request.rb b/lib/paypal/recurring/request.rb index a1e85b0..cb23cfe 100644 --- a/lib/paypal/recurring/request.rb +++ b/lib/paypal/recurring/request.rb @@ -45,6 +45,7 @@ class Request :initial_amount => "INITAMT", :initial_amount_action => "FAILEDINITAMTACTION", :ipn_url => ["PAYMENTREQUEST_0_NOTIFYURL", "NOTIFYURL"], + :locale => "LOCALECODE", :method => "METHOD", :no_shipping => "NOSHIPPING", :outstanding => "AUTOBILLOUTAMT", @@ -163,6 +164,10 @@ def build_action(value) # :nodoc: def build_initial_amount_action(value) # :nodoc: INITIAL_AMOUNT_ACTIONS.fetch(value.to_sym, value) if value end + + def build_locale(value) # :nodoc: + value.to_s.upcase + end end end end diff --git a/spec/paypal/request_spec.rb b/spec/paypal/request_spec.rb index 1df69b4..9c6ed82 100644 --- a/spec/paypal/request_spec.rb +++ b/spec/paypal/request_spec.rb @@ -111,5 +111,9 @@ it "normalizes reference" do subject.normalize_params(:reference => "abc").should == {:PROFILEREFERENCE => "abc", :PAYMENTREQUEST_0_CUSTOM => "abc", :PAYMENTREQUEST_0_INVNUM => "abc"} end + + it "normalizes locale" do + subject.normalize_params(:locale => :us).should == {:LOCALECODE => "US"} + end end end