Skip to content

Commit

Permalink
Swipe_data and traditional card information are mutually exclusive.
Browse files Browse the repository at this point in the history
  • Loading branch information
Caleb Simpson committed Jun 19, 2013
1 parent 63e7838 commit c024a59
Showing 1 changed file with 14 additions and 8 deletions.
22 changes: 14 additions & 8 deletions lib/active_merchant/billing/gateways/stripe.rb
Original file line number Diff line number Diff line change
Expand Up @@ -148,17 +148,23 @@ def add_address(post, options)
def add_creditcard(post, creditcard, options)
card = {}
if creditcard.respond_to?(:number)
card[:number] = creditcard.number
card[:exp_month] = creditcard.month
card[:exp_year] = creditcard.year
card[:cvc] = creditcard.verification_value if creditcard.verification_value?
card[:name] = creditcard.name if creditcard.name
card[:swipe_data] = creditcard.track_data if creditcard.respond_to?(:track_data)
if creditcard.respond_to?(:track_data) && creditcard.track_data.present?
card[:swipe_data] = creditcard.track_data
else
card[:number] = creditcard.number
card[:exp_month] = creditcard.month
card[:exp_year] = creditcard.year
card[:cvc] = creditcard.verification_value if creditcard.verification_value?
card[:name] = creditcard.name if creditcard.name
end

add_address(post, options)
elsif creditcard.kind_of?(String)
card[:number] = creditcard
card[:swipe_data] = options[:track_data] if options[:track_data]
if options[:track_data]
card[:swipe_data] = options[:track_data]
else
card[:number] = creditcard
end
end
post[:card] = card
end
Expand Down

0 comments on commit c024a59

Please sign in to comment.