firstdata 1.1.1 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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