paynow_ruby 0.0.1 → 0.1.0
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 +4 -4
- data/lib/paynow/configuration.rb +8 -0
- data/lib/paynow/gateway.rb +7 -1
- data/lib/paynow/paynow_client.rb +18 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 392e31a93a9b1a94ce33e67d58d9334b2185b2df6d7993295dedd4561d39b305
|
4
|
+
data.tar.gz: 5f7d218896b50cb530ae07919a7b37e93aec849bda4ce5f8b5e2e96156b459d1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39bc64fbf61ca92bf566c3e1fb647461002906d7669a1caa9de0375fa61ba5a294acc3d5d902125422b4b5a6bcfe36c088e10e10b9722a31e594ebb3e368d81d
|
7
|
+
data.tar.gz: eb0caa43e809d5e4d8ed50dad0f39919ebfa036bb8ad2673f95616ab97c5257c59657c565fafe7d7781d03fb90226a410813d0ccd4d07c8c4164282121cc34a4
|
data/lib/paynow/configuration.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'logger'
|
4
|
+
|
3
5
|
module Paynow
|
4
6
|
# Centralized configuration for the paynow_ruby gem
|
5
7
|
class Configuration
|
8
|
+
@default_logger = Logger.new($stdout)
|
9
|
+
|
6
10
|
def self.configure
|
7
11
|
yield self
|
8
12
|
end
|
@@ -34,5 +38,9 @@ module Paynow
|
|
34
38
|
def self.payment
|
35
39
|
Paynow::Payment
|
36
40
|
end
|
41
|
+
|
42
|
+
def self.logger
|
43
|
+
@logger || @default_logger
|
44
|
+
end
|
37
45
|
end
|
38
46
|
end
|
data/lib/paynow/gateway.rb
CHANGED
@@ -10,10 +10,12 @@ module Paynow
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def initialize(params)
|
13
|
-
@params = params
|
13
|
+
@params = params.transform_keys(&:to_sym)
|
14
14
|
end
|
15
15
|
|
16
16
|
def create_payment
|
17
|
+
logger.info("[PAYNOW] CREATE PAYMENT external_id=#{params[:external_id]}")
|
18
|
+
|
17
19
|
response = api_client.create_payment(params)
|
18
20
|
|
19
21
|
parsed_response_body = JSON.parse(response.body)
|
@@ -41,5 +43,9 @@ module Paynow
|
|
41
43
|
def payment
|
42
44
|
Paynow::Configuration.payment
|
43
45
|
end
|
46
|
+
|
47
|
+
def logger
|
48
|
+
Paynow::Configuration.logger
|
49
|
+
end
|
44
50
|
end
|
45
51
|
end
|
data/lib/paynow/paynow_client.rb
CHANGED
@@ -16,13 +16,25 @@ module Paynow
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def create_payment
|
19
|
-
|
19
|
+
logger.info("[PAYNOW] STARTED GET #{uri}")
|
20
20
|
|
21
|
-
Net::HTTP.post(uri, json_body, headers)
|
21
|
+
response = Net::HTTP.post(uri, json_body, headers)
|
22
|
+
|
23
|
+
if response.code =~ /^[4-5]/
|
24
|
+
logger.error("[PAYNOW] ERROR GET #{uri} status=#{response.code} #{JSON.parse(response.body)['errors']}")
|
25
|
+
else
|
26
|
+
logger.info("[PAYNOW] FINISHED GET #{uri} status=#{response.code}")
|
27
|
+
end
|
28
|
+
|
29
|
+
response
|
22
30
|
end
|
23
31
|
|
24
32
|
private
|
25
33
|
|
34
|
+
def uri
|
35
|
+
URI("https://#{host}/v1/payments")
|
36
|
+
end
|
37
|
+
|
26
38
|
def headers
|
27
39
|
{
|
28
40
|
'Api-Key': api_key,
|
@@ -62,5 +74,9 @@ module Paynow
|
|
62
74
|
def user_agent
|
63
75
|
Paynow::Configuration.user_agent
|
64
76
|
end
|
77
|
+
|
78
|
+
def logger
|
79
|
+
Paynow::Configuration.logger
|
80
|
+
end
|
65
81
|
end
|
66
82
|
end
|