paymentsjs-rails 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/paymentsjs-rails.rb +41 -49
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6409428c1e248cc149b08e158a1e1023b34e3386
4
- data.tar.gz: 42e07b14507af6907e60731abe9d79c9b6bfdc6d
3
+ metadata.gz: 1842189fe42082eeabdd71662c1c8bf63789b6d0
4
+ data.tar.gz: f3cf9eac147817ea18e778b7f2115422575fdafd
5
5
  SHA512:
6
- metadata.gz: 1df457e017d514ef7a61e4b4ab5999b2b851273a33798337b2a1a4b4a6eb974f32afdc8c820c345aa0c4d97bf261699fe895c2e7cba753f4e8df240efdabd11e
7
- data.tar.gz: cbb66182977ffa1a3fee794093e52b540aa3bb8f4b6379e653ee457e7eae6b01792ceee09e4e678c48c40596c23c1a7cbc0e8c6151fa526088e7868af18d4626
6
+ metadata.gz: 4d81c66b831b5541057fc51e11ff8a5dcef3b519553298f72af08d81cd03a528cc634cf58ecc39bcddf3ee86c3a50c57fb52be94308fd185b4a8bbf1fbbb46f7
7
+ data.tar.gz: 583376bcac3727f6e03a9b79aa6adb521ba64dda6c87c5108c46da1ca83267e6a19cb543edccfc250f1961fdf2ac03b7f3fa33706b5f4787b527ddb17984cd7c
@@ -7,67 +7,59 @@ class PaymentsJs
7
7
 
8
8
  extend Configuration
9
9
 
10
- def self.generate_req_id
11
- req_id = "invoice" + rand(10...42).to_s
12
- req_id
13
- end
14
-
15
- def self.generate_iv
16
- iv = OpenSSL::Random.pseudo_bytes(16)
17
- iv
18
- end
10
+ cipher = OpenSSL::Cipher::AES.new(256, :CBC)
11
+ cipher.encrypt
12
+
13
+ iv = OpenSSL::Random.pseudo_bytes(16)
14
+ salt = iv.unpack('H*').first
15
+ salt = salt.bytes.to_a
16
+ salt = salt.pack('U*')
17
+ salt = Base64.strict_encode64(salt)
19
18
 
20
- def self.generate_salt
21
- salt = PaymentsJs.iv.unpack('H*').first
22
- salt = salt.bytes.to_a
23
- salt = salt.pack('U*')
24
- salt = Base64.strict_encode64(salt)
25
- salt
26
- end
19
+ req_id = "invoice" + rand(10...42).to_s
27
20
 
28
21
  define_setting :mid, "999999999997"
29
22
  define_setting :mkey, "K3QD6YWyhfD"
30
23
  define_setting :api_key, "7SMmEF02WyC7H5TSdG1KssOQlwOOCagb"
31
24
  define_setting :api_secret, "wtC5Ns0jbtiNA8sP"
32
- define_setting :req_id, PaymentsJs.generate_req_id
25
+ define_setting :req_id, req_id
33
26
  define_setting :request_type, "payment"
34
27
  define_setting :postback_url, "https://www.example.com"
35
28
  define_setting :amount, "1.00"
36
29
  define_setting :pre_auth, false
37
30
  define_setting :environment, "cert"
38
- define_setting :iv, PaymentsJs.generate_iv
39
- define_setting :salt, PaymentsJs.generate_salt
40
31
 
41
- def self.req
42
- mid = PaymentsJs.mid
43
- mkey = PaymentsJs.mkey
44
- api_key = PaymentsJs.api_key
45
- api_secret = PaymentsJs.api_secret
46
- req_id = PaymentsJs.req_id
47
- request_type = PaymentsJs.request_type
48
- postback_url = PaymentsJs.postback_url
49
- amount = PaymentsJs.amount
50
- pre_auth = PaymentsJs.pre_auth
51
- environment = PaymentsJs.environment
52
-
53
- req = {mid: mid, mkey: mkey, api_key: api_key, api_secret: api_secret, req_id: req_id, request_type: request_type, postback_url: postback_url, amount: amount, pre_auth: pre_auth, environment: environment }
54
-
55
- req
56
- end
32
+ mid = PaymentsJs.mid
33
+ mkey = PaymentsJs.mkey
34
+ api_key = PaymentsJs.api_key
35
+ api_secret = PaymentsJs.api_secret
36
+ req_id = PaymentsJs.req_id
37
+ request_type = PaymentsJs.request_type
38
+ postback_url = PaymentsJs.postback_url
39
+ amount = PaymentsJs.amount
40
+ pre_auth = PaymentsJs.pre_auth
41
+ environment = PaymentsJs.environment
42
+
43
+ req = {
44
+ "apiKey" => api_key,
45
+ "merchantId" => mid,
46
+ "merchantKey" => mkey,
47
+ "requestType" => request_type,
48
+ "requestId" => req_id,
49
+ "postbackUrl" => postback_url,
50
+ "amount" => amount,
51
+ "nonce" => salt,
52
+ "preAuth" => false,
53
+ "environment" => environment
54
+ }
55
+
56
+ data = JSON.generate(req)
57
+ key = OpenSSL::PKCS5.pbkdf2_hmac_sha1(api_secret, salt, 1500, 32)
58
+ cipher.key = key
59
+ cipher.iv = iv
60
+ authKey = cipher.update(data) + cipher.final()
61
+ authKey = Base64.strict_encode64(authKey)
57
62
 
58
- def self.encrypt
59
- cipher = OpenSSL::Cipher::AES.new(256, :CBC)
60
- cipher.encrypt
61
- req = PaymentsJs.req
62
- api_secret = PaymentsJs.api_secret
63
- data = JSON.generate(req)
64
- salt = PaymentsJs.salt
65
- key = OpenSSL::PKCS5.pbkdf2_hmac_sha1(api_secret, salt, 1500, 32)
66
- cipher.key = key
67
- cipher.iv = PaymentsJs.iv
68
- authKey = cipher.update(data) + cipher.final()
69
- authKey = Base64.strict_encode64(authKey)
70
- authKey
71
- end
63
+ PaymentsJs.authkey = authKey
72
64
 
73
65
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paymentsjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua Bartlett