firstdata 1.1.1 → 2.1.1

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: cdd689f09e7c0e5c70944858a57b1d2aa5507d52
4
- data.tar.gz: 409f5e1389c02cc94344af34717b8cfeed05c4f1
3
+ metadata.gz: 81e425e6e583412e4abc1a8e6dd92a4b2847a93d
4
+ data.tar.gz: f11a48b32611b5e9978606127496bf5b2e30d6d5
5
5
  SHA512:
6
- metadata.gz: fd16200d6a5651ab1df6115c8d3dd400f906c4e0eea4907c176ca74f513d6e8aee638e1c6302c77bec3810cf27013ecd8d427891c780b55d52709c933c718c6a
7
- data.tar.gz: 74b034c1e8e93d8d755fbdde1bcee3aac6d781f5d3fe29ba4d14bd63aaa17da3aee693dce9896dcb03e58237708cd35fd8a34fd5c09dbcd27cb4ef3db28a3dd5
6
+ metadata.gz: 168dc7efbb8da00aa6562ef1e4f18751c9d25a7558de06eea3b6fbf49e421dba02f1fe6ebe721b37a9f6d3e05109e838ab684b36788befe724d9670423105bf3
7
+ data.tar.gz: a18f72e267f7a044188600ab38ae9e812cf0c4a2eb5a1cd6e61be6a74386f094f3947b8edb3a4dacf5e9516190b13be92971ed5e6e4d101f446f1a6dbf7ff4dd
@@ -1,3 +1,3 @@
1
1
  module Firstdata
2
- VERSION = "1.1.1"
2
+ VERSION = "2.1.1"
3
3
  end
data/lib/firstdata.rb CHANGED
@@ -6,11 +6,13 @@
6
6
  #
7
7
  # MIT License
8
8
 
9
- require 'json'
9
+ #require 'json'
10
10
  require 'openssl'
11
11
  require 'net/http'
12
12
  require 'time'
13
13
  require 'base64'
14
+ require 'active_support/core_ext/hash/conversions'
15
+
14
16
 
15
17
  require_relative 'firstdata/version'
16
18
 
@@ -22,14 +24,14 @@ module Firstdata
22
24
  end
23
25
 
24
26
  def self.transact(payload)
25
- body = payload.merge(gateway_id: @gateway_id, password: @password).to_json
27
+ body = payload.merge(gateway_id: @gateway_id, password: @password).to_xml((:root => 'Transaction', :dasherize => false, :skip_instruct => true, :skip_types => true)
26
28
  post(set_headers(body), body, api_url)
27
29
  end
28
30
 
29
31
  private
30
32
 
31
33
  def self.digest(payload)
32
- OpenSSL::Digest.new('sha256', payload)
34
+ OpenSSL::Digest.new('sha1', payload)
33
35
  end
34
36
 
35
37
  def self.gen_hmac(digest, data)
@@ -45,7 +47,7 @@ module Firstdata
45
47
  end
46
48
 
47
49
  def self.set_headers(payload)
48
- type = 'application/json'
50
+ type = 'application/xml'
49
51
  time = Time.now.utc.iso8601
50
52
  content_digest = digest(payload)
51
53
  data = concat('POST', type, content_digest.to_s, time, urn)
@@ -54,7 +56,7 @@ module Firstdata
54
56
  'Content-Type' => type,
55
57
  'Accept' => type,
56
58
  'x-gge4-date' => time,
57
- 'x-gge4-content-sha256' => content_digest.to_s,
59
+ 'x-gge4-content-sha1' => content_digest.to_s,
58
60
  'Authorization' => "GGE4_API #{@key_id}:#{hmac}"
59
61
  }
60
62
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: firstdata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nitesh Gupta
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-05 00:00:00.000000000 Z
11
+ date: 2015-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler