# File lib/active_merchant/billing/gateways/samurai.rb, line 12 def initialize(options = {}) begin require 'samurai' rescue LoadError raise "Could not load the samurai gem (>= 0.2.25). Use `gem install samurai` to install it." end requires!(options, :login, :password, :processor_token) @options = options Samurai.options = { :merchant_key => options[:login], :merchant_password => options[:password], :processor_token => options[:processor_token] } end
# File lib/active_merchant/billing/gateways/samurai.rb, line 48 def capture(money, authorization_id, options = {}) transaction = Samurai::Transaction.find(authorization_id) handle_result(transaction.capture(amount(money))) end
# File lib/active_merchant/billing/gateways/samurai.rb, line 40 def purchase(money, credit_card_or_vault_id, options = {}) token = payment_method_token(credit_card_or_vault_id, options) return token if token.is_a?(Response) purchase = Samurai::Processor.purchase(token, amount(money), processor_options(options)) handle_result(purchase) end
# File lib/active_merchant/billing/gateways/samurai.rb, line 53 def refund(money, transaction_id, options = {}) transaction = Samurai::Transaction.find(transaction_id) handle_result(transaction.credit(amount(money))) end
# File lib/active_merchant/billing/gateways/samurai.rb, line 63 def store(creditcard, options = {}) address = options[:billing_address] || options[:address] || {} result = Samurai::PaymentMethod.create({ :card_number => creditcard.number, :expiry_month => creditcard.month.to_s.rjust(2, "0"), :expiry_year => creditcard.year.to_s, :cvv => creditcard.verification_value, :first_name => creditcard.first_name, :last_name => creditcard.last_name, :address_1 => address[:address1], :address_2 => address[:address2], :city => address[:city], :zip => address[:zip], :sandbox => test? }) Response.new(result.is_sensitive_data_valid, message_from_result(result), { :payment_method_token => result.is_sensitive_data_valid && result.payment_method_token }) end
Generated with the Darkfish Rdoc Generator 2.