pagseguro_next 1.0.1 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eb0d9520494b52e758dc24754adce5056e7bd3838bebf18aade8e9e12be07c21
4
- data.tar.gz: b01d9f1954b4a03b0881e409b0f4b342f44498008c513e204df2fbb34cf7db90
3
+ metadata.gz: 83a109fc4c420245696d46efd519b5c433bc0c7d60690313bdc6cc6f34e4bee2
4
+ data.tar.gz: a5587fc8b0664764d40939e868d64a8612b92d20d5c8f40a61062eaed5925bd0
5
5
  SHA512:
6
- metadata.gz: 2dbe1603b742149203287734b6838455a1dde4be580c19a6668350d2acb6411918f14c1b376755414d62b3cae7ffac0761135ab0e1dec23045c7715e9859a64a
7
- data.tar.gz: fddf07dd339714cdea4f280ae46c1a936edf7c26b704da2ed56a99965aacd4a775b6f7f6e59a9d6819dc5202451daf4882c18d994813038ef86c0023948b7690
6
+ metadata.gz: c8f8cc70aee62ef28443acd815b436fd87be6111cd0dea29817f215ad3b1cf3dc20d1076e13d867e9b5eaf58472fd873998bab5c8cd7ae3bedc36d465d2b8328
7
+ data.tar.gz: 6ab361f6a03d65cbc05027a8c62f4e4af98eb6f1800a78ff34e33fc5e5d82bb1769fb423228969a9e17185730f91ba3fca34c3dab0d5500be11c36683cfa91ed
data/lib/pagseguro.rb CHANGED
@@ -19,8 +19,13 @@ module PagSeguro
19
19
  autoload :Transactions, "pagseguro/transactions"
20
20
  autoload :Mash, "pagseguro/mash"
21
21
 
22
- FORMATS = {
22
+ ACCEPTS = {
23
23
  json: "application/vnd.pagseguro.com.br.v3+json;charset=ISO-8859-1",
24
+ xml: "application/vnd.pagseguro.com.br.v3+xml;charset=ISO-8859-1"
25
+ }
26
+
27
+ FORMATS = {
28
+ json: "application/json;charset=ISO-8859-1",
24
29
  xml: "application/xml;charset=ISO-8859-1"
25
30
  }
26
31
 
@@ -16,13 +16,13 @@ module PagSeguro
16
16
  }
17
17
 
18
18
  def create(params)
19
- xml = build_request(params).to_xml
20
- response = post_xml("/v2/authorizations/request", xml)
19
+ body = build_request(params).to_xml
20
+ response = post("/v2/authorizations/request", body, xml: :simple)
21
21
  response.authorization_request
22
22
  end
23
23
 
24
24
  def find_by_notification_code(code)
25
- response = get_xml("/v2/authorizations/notifications/#{code}")
25
+ response = get("/v2/authorizations/notifications/#{code}", nil, xml: :simple)
26
26
  response.authorization
27
27
  end
28
28
 
@@ -5,8 +5,8 @@ module PagSeguro
5
5
  include Restful
6
6
 
7
7
  def create(params)
8
- params = build_request(params).to_xml(encoding: "UTF-8")
9
- response = post_xml("/v2/checkout", params)
8
+ body = build_request(params).to_xml(encoding: "ISO-8859-1")
9
+ response = post("/v2/checkout", body, xml: :simple)
10
10
  response.checkout
11
11
  end
12
12
 
@@ -26,13 +26,14 @@ module PagSeguro
26
26
  item do
27
27
  id params[:id]
28
28
  description { cdata(params[:description]) }
29
- amount format("%.2f", params[:amount].to_f)
29
+ amount format("%.2f", params[:amount])
30
30
  quantity 1
31
31
  end
32
32
  end
33
33
  shipping do
34
34
  addressRequired false
35
35
  end
36
+ redirectURL params[:redirect_url] if params.key?(:redirect_url)
36
37
  end
37
38
  end
38
39
  end
@@ -19,7 +19,7 @@ module PagSeguro
19
19
  conn.response :raise_error
20
20
  conn.adapter :net_http
21
21
  conn.params = auth_params
22
- conn.headers[:accept] = FORMATS[:json]
22
+ conn.headers[:accept] = ACCEPTS[:json]
23
23
  end
24
24
  end
25
25
 
@@ -5,8 +5,7 @@ module PagSeguro
5
5
  include Restful
6
6
 
7
7
  def fetch(code, params = {})
8
- params.reverse_merge! status: 5, page: 0
9
- response = get("/pre-approvals/#{code}/payment-orders", params)
8
+ response = get("/pre-approvals/#{code}/payment-orders", params, {})
10
9
  response.paymentOrders.values || {}
11
10
  end
12
11
  end
@@ -5,10 +5,8 @@ module PagSeguro
5
5
  include Restful
6
6
 
7
7
  def create(params)
8
- params[:amount_per_payment] = to_money params[:amount_per_payment]
9
- params = parameterize params
10
-
11
- post("/pre-approvals/request", preApproval: params)
8
+ body = build_request(params).to_xml
9
+ post("/pre-approvals/request", body, xml: :versioned)
12
10
  end
13
11
 
14
12
  def update(code, params)
@@ -22,5 +20,20 @@ module PagSeguro
22
20
  def to_money(value)
23
21
  format "%.2f", value.to_f
24
22
  end
23
+
24
+ def build_request(params)
25
+ builder do
26
+ preApprovalRequest do
27
+ reference params[:reference]
28
+ preApproval do
29
+ charge params[:charge]
30
+ name { cdata(params[:name]) }
31
+ details { cdata(params[:details]) }
32
+ period params[:period]
33
+ amountPerPayment format("%.2f", params[:amount_per_payment])
34
+ end
35
+ end
36
+ end
37
+ end
25
38
  end
26
39
  end
@@ -13,12 +13,14 @@ module PagSeguro
13
13
  end
14
14
 
15
15
  protected
16
- def get(path, options = nil, &block)
17
- connection.get(path, options, &block).body
16
+ def get(path, options = {}, xml: nil)
17
+ headers = headerize(xml) if xml
18
+ connection.get(path, options, headers).body
18
19
  end
19
20
 
20
- def post(path, options = nil, &block)
21
- connection.post(path, options, &block).body
21
+ def post(path, options = {}, xml: nil)
22
+ headers = headerize(xml) if xml
23
+ connection.post(path, options, headers).body
22
24
  end
23
25
 
24
26
  def put(path, options = {})
@@ -33,30 +35,20 @@ module PagSeguro
33
35
  connection.delete(path, options).body
34
36
  end
35
37
 
36
- def get_xml(path, options = nil)
37
- get(path, options) do |conn|
38
- conn.headers[:content_type] = FORMATS[:xml]
39
- conn.headers[:accept] = FORMATS[:xml]
40
- end
41
- end
42
-
43
- def post_xml(path, options = nil)
44
- post(path) do |conn|
45
- conn.headers[:content_type] = FORMATS[:xml]
46
- conn.headers[:accept] = FORMATS[:xml]
38
+ def headerize(xml)
39
+ if xml == :simple
40
+ { accept: FORMATS[:xml], content_type: FORMATS[:xml] }
41
+ elsif xml == :versioned
42
+ { accept: ACCEPTS[:xml], content_type: FORMATS[:xml] }
47
43
  end
48
44
  end
49
45
 
50
46
  def parameterize(hash)
51
- hash.as_json.deep_transform_keys! do |key|
52
- key.to_s.camelize(:lower)
53
- end
47
+ hash.as_json.deep_transform_keys! { |key| key.to_s.camelize(:lower) }
54
48
  end
55
49
 
56
50
  def builder(&block)
57
- Nokogiri::XML::Builder.new do |xml|
58
- xml.instance_eval(&block)
59
- end
51
+ Nokogiri::XML::Builder.new { |xml| xml.instance_eval(&block) }
60
52
  end
61
53
  end
62
54
  end
@@ -5,7 +5,7 @@ module PagSeguro
5
5
  include Restful
6
6
 
7
7
  def create
8
- response = post_xml("/v2/sessions")
8
+ response = post("/v2/sessions", nil, xml: :simple)
9
9
  response.session
10
10
  end
11
11
  end
@@ -18,11 +18,11 @@ module PagSeguro
18
18
  }
19
19
 
20
20
  def find(code)
21
- transform get_xml("/v3/transactions/#{code}")
21
+ transform get("/v3/transactions/#{code}", nil, xml: :simple)
22
22
  end
23
23
 
24
24
  def find_by_notification_code(code)
25
- transform get_xml("/v2/transactions/notifications/#{code}")
25
+ transform get("/v2/transactions/notifications/#{code}", nil, xml: :simple)
26
26
  end
27
27
 
28
28
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PagSeguro
4
- VERSION = "1.0.1"
4
+ VERSION = "1.0.6"
5
5
  end
@@ -18,14 +18,14 @@ Gem::Specification.new do |spec|
18
18
  spec.files += Dir.glob("lib/**/*.rb")
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_dependency "faraday", "~> 0.17"
22
- spec.add_dependency "faraday_middleware", "~> 0.13"
21
+ spec.add_dependency "faraday", "~> 1.0"
22
+ spec.add_dependency "faraday_middleware", "~> 1.0"
23
23
  spec.add_dependency "hashie", ">= 3.4.6"
24
24
  spec.add_dependency "nokogiri", ">= 1.6"
25
25
  spec.add_dependency "activesupport", ">= 4"
26
26
  spec.add_dependency "multi_xml", "~> 0.6"
27
27
 
28
- spec.add_development_dependency "bundler", "~> 1.17"
28
+ spec.add_development_dependency "bundler", "~> 2"
29
29
  spec.add_development_dependency "rake", ">= 12.3.3"
30
30
  spec.add_development_dependency "minitest", "~> 5.0"
31
31
  spec.add_development_dependency "vcr", "~> 4.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pagseguro_next
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rainer Borene
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-07 00:00:00.000000000 Z
11
+ date: 2021-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.17'
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.17'
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: faraday_middleware
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.13'
33
+ version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.13'
40
+ version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hashie
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1.17'
103
+ version: '2'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1.17'
110
+ version: '2'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rake
113
113
  requirement: !ruby/object:Gem::Requirement
@@ -206,7 +206,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
206
  - !ruby/object:Gem::Version
207
207
  version: '0'
208
208
  requirements: []
209
- rubygems_version: 3.0.3
209
+ rubygems_version: 3.1.4
210
210
  signing_key:
211
211
  specification_version: 4
212
212
  summary: Yet another client to PagSeguro API