paymentsjs-rails 0.1.6 → 0.1.7

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.
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