lib/active_merchant/billing/gateways/cyber_source.rb in activemerchant-1.74.0 vs lib/active_merchant/billing/gateways/cyber_source.rb in activemerchant-1.75.0

- old
+ new

@@ -616,11 +616,11 @@ def add_subscription(xml, options, reference = nil) options[:subscription] ||= {} xml.tag! 'recurringSubscriptionInfo' do if reference - _, subscription_id, _ = reference.split(";") + subscription_id = reference.split(";")[6] xml.tag! 'subscriptionID', subscription_id end xml.tag! 'status', options[:subscription][:status] if options[:subscription][:status] xml.tag! 'amount', localized_amount(options[:subscription][:amount].to_i, options[:currency] || default_currency) if options[:subscription][:amount] @@ -707,11 +707,11 @@ end success = response[:decision] == "ACCEPT" message = response[:message] - authorization = success ? [ options[:order_id], response[:requestID], response[:requestToken], action, amount, options[:currency]].compact.join(";") : nil + authorization = success ? authorization_from(response, action, amount, options) : nil Response.new(success, message, response, :test => test?, :authorization => authorization, :avs_result => { :code => response[:avsCode] }, @@ -756,9 +756,14 @@ end def reason_message(reason_code) return if reason_code.blank? @@response_codes[:"r#{reason_code}"] + end + + def authorization_from(response, action, amount, options) + [options[:order_id], response[:requestID], response[:requestToken], action, amount, + options[:currency], response[:subscriptionID]].join(";") end end end end