fat_zebra 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55ba03265cbd6993f4e0475096a419470df20121
4
- data.tar.gz: 9f346b14d906f734c0af030407628107052e7352
3
+ metadata.gz: 12eca7538a469a8a681e37ee9fb816e113941ceb
4
+ data.tar.gz: c0b4b46f1dbe9b7da713f7e1b44d814bae1e11db
5
5
  SHA512:
6
- metadata.gz: e9c0d698fd0bdb5664e2de293889e22a1acbd8dc8db63aae2eba432c3eedc99c5bd69555674ff837ba817276cc1ee64b2b6e75955cc4d6b45b46d47ff4f5d061
7
- data.tar.gz: c1d213469e4fe0fb069484b37a27aa97229d64fd7078227903ffea27e20d6d3ca4883f9680f2e08f1270df2479cb74533e15199d65d824a5ddb1efa2db480f3e
6
+ metadata.gz: 6bd161af6c85201b40d375d0a6d5833cf98216323d874204fe7d2e35b8e3d3f30dca9840c7d6dc655078dc902f8b4eb8f194f0a69e8184ba9ccca580d90e1fe4
7
+ data.tar.gz: 0290013901adfb328ccbb28a556dd1761c3dd806018b6f9a4bb6b77c272cf3bc2724597a4ab86712553b29d69c4f64692e0a0c539cf2ec9145c1bab965fc7fbf
data/README.markdown CHANGED
@@ -40,15 +40,15 @@ card_data = {
40
40
  number: "5123456789012346",
41
41
  card_holder: "Bill Simpson",
42
42
  expiry: "05/2023",
43
- ccv: "123"
43
+ cvv: "123"
44
44
  }
45
45
 
46
- response = FatZebra::Purchase.create(10000, card_data, "ORDER-23", "203.99.87.4")
46
+ response = FatZebra::Models::Purchase.create(10000, card_data, "ORDER-23", "203.99.87.4")
47
47
 
48
48
  if response.successful? && response.result.successful
49
49
  puts "Transaction ID: #{response.result.id}"
50
50
  else
51
- abort "Error in transaction: #{response.error_messages}"
51
+ abort "Error in transaction: #{response.errors}"
52
52
  end
53
53
  ```
54
54
 
@@ -7,8 +7,8 @@ module FatZebra
7
7
 
8
8
  # Refunds the current transaction
9
9
  #
10
- # @param [Integer] the amount to be refunded
11
- # @param [String] the refund reference
10
+ # @param [Integer] amount the amount to be refunded
11
+ # @param [String] reference the refund reference
12
12
  #
13
13
  # @return Response (Refund) object
14
14
  def refund(amount, reference)
@@ -44,19 +44,19 @@ module FatZebra
44
44
  class << self
45
45
  # Performs a purchase transaction against the gateway
46
46
  #
47
- # @param [Integer] the amount as an integer e.g. (1.00 * 100).to_i
48
- # @param [Hash] a hash of the card data (example: {:card_holder => "John Smith", :number => "...", :expiry => "...", :cvv => "123"} or {:token => "abcdefg1"})
49
- # @param [String] the card holders name
50
- # @param [String] the customers credit card number
51
- # @param [Date] the customers card expiry date (as Date or string [mm/yyyy])
52
- # @param [String] the credit card verification value (cvv, cav, csc etc)
53
- # @param [String] a reference for the purchase
54
- # @param [String] the customers IP address (for fraud prevention)
55
- # @param [String] currency code ("AUD", "USD", etc)
47
+ # @param [Integer] amount the amount as an integer e.g. (1.00 * 100).to_i
48
+ # @param [Hash] card_data a hash of the card data (example: {:card_holder => "John Smith", :number => "...", :expiry => "...", :cvv => "123"} or {:token => "abcdefg1"})
49
+ # @option card_data [String] card_holder the card holders name
50
+ # @option card_data [String] card_number the customers credit card number
51
+ # @option card_data [Date] expiry the customers card expiry date (as Date or string [mm/yyyy])
52
+ # @option card_data [String] cvv the credit card verification value (cvv, cav, csc etc)
53
+ # @param [String] reference a reference for the purchase
54
+ # @param [String] customer_ip the customers IP address (for fraud prevention)
55
+ # @param [String] currency currency code ("AUD", "USD", etc)
56
56
  # @param [Hash] optional any optional parameters to be included in the payload
57
57
  #
58
58
  # @return [Response] response (purchase) object
59
- def create(amount, card_data, reference, customer_ip, currency = "AUD", optional = {})
59
+ def create(amount, card_data, reference, customer_ip, currency = 'AUD', optional = {})
60
60
  params = {
61
61
  :amount => amount,
62
62
  :card_holder => card_data.delete(:card_holder),
@@ -69,10 +69,10 @@ module FatZebra
69
69
  :currency => currency
70
70
  }
71
71
 
72
- params.delete_if {|key, value| value.nil? } # If token is nil, remove, otherwise, remove card values
73
- validate_params!(params)
72
+ params.delete_if {|_, value| value.nil? } # If token is nil, remove, otherwise, remove card values
74
73
  params.merge!(optional)
75
- response = FatZebra.gateway.make_request(:post, "purchases", params)
74
+ validate_params!(params)
75
+ response = FatZebra.gateway.make_request(:post, 'purchases', params)
76
76
  Response.new(response)
77
77
  end
78
78
 
@@ -92,29 +92,29 @@ module FatZebra
92
92
  options.merge!({:offets => 0, :limit => 10})
93
93
 
94
94
  # Format dates for the request
95
- options[:from] = options[:from].strftime("%Y%m%dT%H%M") if options[:from]
96
- options[:to] = options[:to].strftime("%Y%m%dT%H%M") if options[:to]
95
+ options[:from] = options[:from].strftime('%Y%m%dT%H%M') if options[:from]
96
+ options[:to] = options[:to].strftime('%Y%m%dT%H%M') if options[:to]
97
97
 
98
98
 
99
99
  if id.nil?
100
- response = FatZebra.gateway.make_request(:get, "purchases", options)
101
- if response["successful"]
100
+ response = FatZebra.gateway.make_request(:get, 'purchases', options)
101
+ if response['successful']
102
102
  purchases = []
103
- response["response"].each do |purchase|
103
+ response['response'].each do |purchase|
104
104
  purchases << Purchase.new(purchase)
105
105
  end
106
106
 
107
107
  purchases.size == 1 ? purchases.first : purchases
108
108
  else
109
109
  # TODO: This should raise a defined exception
110
- raise StandardError, "Unable to query purchases, #{response["errors"].inspect}"
110
+ raise StandardError, "Unable to query purchases, #{response['errors'].inspect}"
111
111
  end
112
112
  else
113
113
  response = FatZebra.gateway.make_request(:get, "purchases/#{id}.json")
114
- if response["successful"]
115
- Purchase.new(response["response"])
114
+ if response['successful']
115
+ Purchase.new(response['response'])
116
116
  else
117
- raise StandardError, "Unable to query purchases, #{response["errors"].inspect}"
117
+ raise StandardError, "Unable to query purchases, #{response['errors'].inspect}"
118
118
  end
119
119
  end
120
120
  end
@@ -131,7 +131,7 @@ module FatZebra
131
131
  if value.is_a?(String)
132
132
  return value
133
133
  elsif value.respond_to?(:strftime)
134
- return value.strftime("%m/%Y")
134
+ return value.strftime('%m/%Y')
135
135
  end
136
136
  end
137
137
 
@@ -143,11 +143,11 @@ module FatZebra
143
143
  # Raises FatZebra::RequestError if errors are present.
144
144
  def validate_params!(params)
145
145
  @errors = []
146
- @errors << "number or token must be provided" unless params[:card_number].present? || params[:card_token].present?
147
- @errors << "amount must be provided or greater then 0" unless params[:amount].present? && params[:amount].to_f > 0
148
- @errors << "expiry must be provided" unless params[:card_token].present? || params[:card_expiry].present?
149
- @errors << "reference must be provided" unless params[:reference].present?
150
- @errors << "customer_ip must be procided" unless params[:customer_ip].present?
146
+ @errors << 'number or token must be provided' unless params[:card_number].present? || params[:card_token].present? || params[:wallet].present?
147
+ @errors << 'amount must be provided or greater then 0' unless params[:amount].present? && params[:amount].to_f > 0
148
+ @errors << 'expiry must be provided' unless params[:card_token].present? || params[:card_expiry].present? || params[:wallet].present?
149
+ @errors << 'reference must be provided' unless params[:reference].present?
150
+ @errors << 'customer_ip must be provided' unless params[:customer_ip].present?
151
151
 
152
152
  raise FatZebra::RequestError.new("The following errors prevent the transaction from being submitted: #{@errors.to_sentence}") if @errors.any?
153
153
  end
@@ -1,3 +1,3 @@
1
1
  module FatZebra
2
- VERSION = "2.0.1"
2
+ VERSION = "2.0.2"
3
3
  end
data/lib/fat_zebra.rb CHANGED
@@ -5,7 +5,7 @@ require 'active_support/core_ext'
5
5
 
6
6
  require 'fat_zebra/config'
7
7
  require 'fat_zebra/errors'
8
- require "fat_zebra/version"
8
+ require 'fat_zebra/version'
9
9
  require 'fat_zebra/constants'
10
10
  require 'fat_zebra/gateway'
11
11
  require 'fat_zebra/models/base'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fat_zebra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Savage
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-04 00:00:00.000000000 Z
11
+ date: 2014-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec