lib/active_merchant/billing/gateways/paypal_express_common.rb
module ActiveMerchant
module Billing
module PaypalExpressCommon
def self.included(base)
if base.respond_to?(:class_attribute)
base.class_attribute :test_redirect_url
base.class_attribute :live_redirect_url
else
base.class_inheritable_accessor :test_redirect_url
base.class_inheritable_accessor :live_redirect_url
end
base.live_redirect_url = 'https://www.paypal.com/cgi-bin/webscr'
end
def redirect_url
test? ? test_redirect_url : live_redirect_url
end
def redirect_url_for(token, options = {})
options = { review: true, mobile: false }.update(options)
cmd = options[:mobile] ? '_express-checkout-mobile' : '_express-checkout'
url = "#{redirect_url}?cmd=#{cmd}&token=#{token}"
url += '&useraction=commit' unless options[:review]
url
end
end
end
end