safecharge 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/safecharge/dmn.rb +24 -0
- data/lib/safecharge/response.rb +1 -35
- data/lib/safecharge/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f473ad7c597956e56f2c43e097e0e47eb9ca9748
|
4
|
+
data.tar.gz: d7318d084b4f6fbe0bb0898d789c80d0e2851c74
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dc6e9fdb8523adaa842acddb7133db479a5e9639a49c40d160e16a0a88d26248e750f565d4c0980db439db05cf640bd42bdb1e8a4a51e2738b0c76f50b03fade
|
7
|
+
data.tar.gz: 47a5b1192a38e8e214951ba5b26982b4724540ee8c0c3fc94b27edd5818c128680c8e61729bb264303d71869458f1b6b765f7cb4778b5f2559fa1127545f9a67
|
data/README.md
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/user/bin/env ruby
|
2
|
+
#coding: utf-8
|
3
|
+
|
4
|
+
require "safecharge"
|
5
|
+
require "safecharge/constants"
|
6
|
+
|
7
|
+
module Safecharge
|
8
|
+
class DMN
|
9
|
+
def self.checksum(opts = {})
|
10
|
+
params = {
|
11
|
+
'key' => Safecharge::Constants::SECRET_KEY
|
12
|
+
}.merge(opts)
|
13
|
+
codes = [params['key'],
|
14
|
+
params['totalAmount'],
|
15
|
+
params['currency'],
|
16
|
+
params['responseTimeStamp'],
|
17
|
+
params['PPP_TransactionID'],
|
18
|
+
params['Status'],
|
19
|
+
params['productId']]
|
20
|
+
s = codes.join('')
|
21
|
+
return Digest::MD5.hexdigest(s)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/safecharge/response.rb
CHANGED
@@ -6,29 +6,8 @@ require "safecharge/constants"
|
|
6
6
|
|
7
7
|
module Safecharge
|
8
8
|
class Response
|
9
|
-
attr_accessor :params
|
10
9
|
|
11
|
-
|
12
|
-
'Status', 'totalAmount', 'TransactionID', 'ClientUniqueID', 'ErrCode',
|
13
|
-
'ExErrCode', 'AuthCode', 'Reason', 'Token', 'ReasonCode',
|
14
|
-
'advanceResponseChecksum', 'ECI',
|
15
|
-
'nameOnCard', 'currency',
|
16
|
-
'total_discount', 'total_handling', 'total_shipping', 'total_tax',
|
17
|
-
'customData', 'merchant_unique_id', 'merchant_site_id',
|
18
|
-
'requestVersion', 'message', 'Error', 'PPP_TransactionID', 'UserID',
|
19
|
-
'ProductID', 'ppp_status', 'merchantLocale', 'unknownParameters', 'webMasterId'
|
20
|
-
]
|
21
|
-
|
22
|
-
def initialize(incoming_encoded_params = nil)
|
23
|
-
self.params = self.decode(incoming_encoded_params)
|
24
|
-
end
|
25
|
-
|
26
|
-
def decode(param_string)
|
27
|
-
#TODO: write this.
|
28
|
-
return {}
|
29
|
-
end
|
30
|
-
|
31
|
-
def self.code(err, exerr)
|
10
|
+
def self.code(err, exerr = 0)
|
32
11
|
return Safecharge::Constants::APPROVED if err == 0 && exerr == 0
|
33
12
|
return Safecharge::Constants::DECLINED if err == -1 && exerr == 0
|
34
13
|
# pending? see p 22 of the spec
|
@@ -41,18 +20,5 @@ module Safecharge
|
|
41
20
|
return Safecharge::Constants::UNKNOWN_ERROR
|
42
21
|
end
|
43
22
|
|
44
|
-
protected
|
45
|
-
|
46
|
-
def calculate_checksum
|
47
|
-
codes = [Safecharge::Constants::SECRET_KEY,
|
48
|
-
self.params['totalAmount'],
|
49
|
-
self.params['currency'],
|
50
|
-
self.params['responseTimeStamp'],
|
51
|
-
self.params['PPP_TransactionID'],
|
52
|
-
self.params['Status'],
|
53
|
-
self.params['productId']]
|
54
|
-
s = codes.join('')
|
55
|
-
return Digest::MD5.hexdigest(s)
|
56
|
-
end
|
57
23
|
end
|
58
24
|
end
|
data/lib/safecharge/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safecharge
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dave Sag
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- README.md
|
79
79
|
- lib/safecharge.rb
|
80
80
|
- lib/safecharge/constants.rb
|
81
|
+
- lib/safecharge/dmn.rb
|
81
82
|
- lib/safecharge/request.rb
|
82
83
|
- lib/safecharge/response.rb
|
83
84
|
- lib/safecharge/version.rb
|