pagseguro-transparente 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -5
- data/lib/pagseguro.rb +8 -2
- data/lib/pagseguro/notification.rb +2 -2
- data/lib/pagseguro/payment.rb +2 -2
- data/lib/pagseguro/query.rb +2 -2
- data/lib/pagseguro/refund.rb +2 -3
- data/lib/pagseguro/request.rb +11 -18
- data/lib/pagseguro/session.rb +2 -2
- data/lib/pagseguro/version.rb +1 -1
- data/spec/pagseguro/notification_spec.rb +12 -0
- data/spec/pagseguro/query_spec.rb +12 -0
- data/spec/pagseguro/refund_spec.rb +14 -0
- data/spec/pagseguro/session_spec.rb +10 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c6d9a17bb3227f4fec059c6496f029db3a401056
|
4
|
+
data.tar.gz: b030e0427c75239ec9d9d779ab258f79ab0e7902
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1101539192b9077467a2f133c8f6234573bfcf471f3d7ff447c82f3904e13f1b87197204eaad12958b3d128ca4a1576a2c1a1af3398d3587321301a7499091c7
|
7
|
+
data.tar.gz: 64f1444db3180da20b647c1ff3e5a7377d3ebf33f477c9ae63a8db85b7aeaecc41fb7c21a66012dbe0e5f1411ddd740ea9531f7b9b615e733b5bd47700ed32ec
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
pagseguro-transparente (0.
|
4
|
+
pagseguro-transparente (0.2.0)
|
5
5
|
activemodel
|
6
6
|
httparty (~> 0.13)
|
7
7
|
i18n (~> 0.6)
|
@@ -32,18 +32,18 @@ GEM
|
|
32
32
|
safe_yaml (~> 1.0.0)
|
33
33
|
diff-lcs (1.2.5)
|
34
34
|
docile (1.1.3)
|
35
|
-
httparty (0.13.
|
35
|
+
httparty (0.13.3)
|
36
36
|
json (~> 1.8)
|
37
37
|
multi_xml (>= 0.5.2)
|
38
38
|
i18n (0.6.9)
|
39
39
|
json (1.8.1)
|
40
40
|
mime-types (2.2)
|
41
|
-
mini_portile (0.6.
|
41
|
+
mini_portile (0.6.1)
|
42
42
|
minitest (5.3.4)
|
43
43
|
multi_json (1.10.0)
|
44
44
|
multi_xml (0.5.5)
|
45
|
-
nokogiri (1.6.
|
46
|
-
mini_portile (
|
45
|
+
nokogiri (1.6.4.1)
|
46
|
+
mini_portile (~> 0.6.0)
|
47
47
|
rake (10.3.2)
|
48
48
|
rest-client (1.6.7)
|
49
49
|
mime-types (>= 1.16)
|
data/lib/pagseguro.rb
CHANGED
@@ -33,12 +33,18 @@ I18n.load_path += Dir[File.expand_path('../../config/locales/*.yml', __FILE__)]
|
|
33
33
|
|
34
34
|
module PagSeguro
|
35
35
|
class << self
|
36
|
-
# Primary e-mail associated with
|
36
|
+
# Primary e-mail associated with the primary account.
|
37
37
|
attr_accessor :email
|
38
38
|
|
39
|
-
# The API token associated with
|
39
|
+
# The API token associated with primary account.
|
40
40
|
attr_accessor :token
|
41
41
|
|
42
|
+
# Sencondary e-mail associated with secondary account.
|
43
|
+
attr_accessor :alt_email
|
44
|
+
|
45
|
+
# The API token associated with secondary account.
|
46
|
+
attr_accessor :alt_token
|
47
|
+
|
42
48
|
# The PagSeguro environment.
|
43
49
|
# Only +production+ for now.
|
44
50
|
attr_accessor :environment
|
@@ -9,8 +9,8 @@ module PagSeguro
|
|
9
9
|
@token = token
|
10
10
|
end
|
11
11
|
|
12
|
-
def transaction
|
13
|
-
PagSeguro::Transaction.new get("/transactions/notifications/#{code}")
|
12
|
+
def transaction(account = nil)
|
13
|
+
PagSeguro::Transaction.new get("/transactions/notifications/#{code}", account)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
data/lib/pagseguro/payment.rb
CHANGED
@@ -64,9 +64,9 @@ module PagSeguro
|
|
64
64
|
end
|
65
65
|
|
66
66
|
# Calls the PagSeguro web service and register this request for payment.
|
67
|
-
def transaction
|
67
|
+
def transaction(account = nil)
|
68
68
|
params = Serializer.new(self).to_params
|
69
|
-
PagSeguro::Transaction.new post('/transactions', params).parsed_response
|
69
|
+
PagSeguro::Transaction.new post('/transactions', account, params).parsed_response
|
70
70
|
end
|
71
71
|
|
72
72
|
def initialize(options = {})
|
data/lib/pagseguro/query.rb
CHANGED
data/lib/pagseguro/refund.rb
CHANGED
@@ -7,9 +7,8 @@ module PagSeguro
|
|
7
7
|
@request = {}
|
8
8
|
end
|
9
9
|
|
10
|
-
def request
|
11
|
-
@request = post("/transactions/refunds", transactionCode: @transaction_code)
|
12
|
-
|
10
|
+
def request(account = nil)
|
11
|
+
@request = post("/transactions/refunds", account, transactionCode: @transaction_code)
|
13
12
|
@request.response.code == '200'
|
14
13
|
end
|
15
14
|
|
data/lib/pagseguro/request.rb
CHANGED
@@ -7,31 +7,24 @@ module PagSeguro
|
|
7
7
|
|
8
8
|
base_uri "https://ws.pagseguro.uol.com.br/v2/"
|
9
9
|
|
10
|
-
def get(path)
|
11
|
-
options = { query:
|
12
|
-
email: PagSeguro.email,
|
13
|
-
token: PagSeguro.token
|
14
|
-
}
|
15
|
-
}
|
10
|
+
def get(path, account = "default")
|
11
|
+
options = { query: add_credencials(account) }
|
16
12
|
self.class.get(path, options)
|
17
13
|
end
|
18
14
|
|
19
|
-
def post(path, params = {})
|
20
|
-
options = add_credencials(
|
21
|
-
|
15
|
+
def post(path, account = "default", params = {})
|
16
|
+
options = { body: add_credencials(account) }
|
17
|
+
options[:body].merge!(params)
|
22
18
|
self.class.post(path, options)
|
23
19
|
end
|
24
20
|
|
25
21
|
private
|
26
|
-
def add_credencials(params)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
}
|
33
|
-
options[:body].merge!(params)
|
34
|
-
options
|
22
|
+
def add_credencials(account, params = nil)
|
23
|
+
if account == "alternative"
|
24
|
+
{ email: PagSeguro.alt_email, token: PagSeguro.alt_token }
|
25
|
+
else
|
26
|
+
{ email: PagSeguro.email, token: PagSeguro.token }
|
27
|
+
end
|
35
28
|
end
|
36
29
|
end
|
37
30
|
end
|
data/lib/pagseguro/session.rb
CHANGED
data/lib/pagseguro/version.rb
CHANGED
@@ -12,6 +12,8 @@ describe PagSeguro::Notification do
|
|
12
12
|
before do
|
13
13
|
PagSeguro.email = 'mail'
|
14
14
|
PagSeguro.token = 'token'
|
15
|
+
PagSeguro.alt_email = 'alt_mail'
|
16
|
+
PagSeguro.alt_token = 'alt_token'
|
15
17
|
end
|
16
18
|
|
17
19
|
describe "#transaction" do
|
@@ -24,5 +26,15 @@ describe PagSeguro::Notification do
|
|
24
26
|
|
25
27
|
it { should be_a_kind_of(PagSeguro::Transaction) }
|
26
28
|
end
|
29
|
+
|
30
|
+
context "with secondary credencials" do
|
31
|
+
subject { notification.transaction("alternative") }
|
32
|
+
before do
|
33
|
+
stub_request(:get, "https://ws.pagseguro.uol.com.br/v2/transactions/notifications/766B9C-AD4B044B04DA-77742F5FA653-E1AB24?email=alt_mail&token=alt_token").
|
34
|
+
to_return(:status => 200, :body => "", :headers => {})
|
35
|
+
end
|
36
|
+
|
37
|
+
it { should be_a_kind_of(PagSeguro::Transaction) }
|
38
|
+
end
|
27
39
|
end
|
28
40
|
end
|
@@ -11,6 +11,8 @@ describe PagSeguro::Query do
|
|
11
11
|
before do
|
12
12
|
PagSeguro.email = 'mail'
|
13
13
|
PagSeguro.token = 'token'
|
14
|
+
PagSeguro.alt_email = 'alt_mail'
|
15
|
+
PagSeguro.alt_token = 'alt_token'
|
14
16
|
end
|
15
17
|
|
16
18
|
describe "#transaction" do
|
@@ -22,4 +24,14 @@ describe PagSeguro::Query do
|
|
22
24
|
|
23
25
|
it { should be_a_kind_of(PagSeguro::Transaction) }
|
24
26
|
end
|
27
|
+
|
28
|
+
describe "with secondary credencials" do
|
29
|
+
subject { query.transaction("alternative") }
|
30
|
+
before do
|
31
|
+
stub_request(:get, "https://ws.pagseguro.uol.com.br/v2/transactions/64C4CB1E-5FF2-4092-BE17-CACE271D789E?email=alt_mail&token=alt_token").
|
32
|
+
to_return(:status => 200, :body => "", :headers => {})
|
33
|
+
end
|
34
|
+
|
35
|
+
it { should be_a_kind_of(PagSeguro::Transaction) }
|
36
|
+
end
|
25
37
|
end
|
@@ -11,6 +11,8 @@ describe PagSeguro::Refund do
|
|
11
11
|
before do
|
12
12
|
PagSeguro.email = 'mail'
|
13
13
|
PagSeguro.token = 'token'
|
14
|
+
PagSeguro.alt_email = 'alt_mail'
|
15
|
+
PagSeguro.alt_token = 'alt_token'
|
14
16
|
end
|
15
17
|
|
16
18
|
describe "#request" do
|
@@ -29,6 +31,18 @@ describe PagSeguro::Refund do
|
|
29
31
|
it { expect(subject).to be_true }
|
30
32
|
end
|
31
33
|
|
34
|
+
context "alternative successful refund" do
|
35
|
+
subject { refund.request('alternative') }
|
36
|
+
|
37
|
+
before do
|
38
|
+
stub_request(:post, "https://ws.pagseguro.uol.com.br/v2/transactions/refunds").
|
39
|
+
with(:body => "email=alt_mail&token=alt_token&transactionCode=766B9C-AD4B044B04DA-77742F5FA653-E1AB24").
|
40
|
+
to_return(:status => 200, :body => "<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?> <result>OK</result>", :headers => {'Content-Type' => 'application/xml;charset=ISO-8859-1'})
|
41
|
+
end
|
42
|
+
|
43
|
+
it { expect(subject).to be_true }
|
44
|
+
end
|
45
|
+
|
32
46
|
context "unsuccessfull refund" do
|
33
47
|
let(:single_error) { "<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?><errors><error><code>14006</code><message>insufficient balance to refund transaction.</message></error></errors>" }
|
34
48
|
let(:multiple_errors) { "<?xml version='1.0' encoding='ISO-8859-1' standalone='yes'?><errors><error><code>14006</code><message>insufficient balance to refund transaction.</message></error><error><code>14007</code><message>invalid transaction status to refund.</message></error></errors>" }
|
@@ -22,5 +22,15 @@ describe PagSeguro::Session do
|
|
22
22
|
|
23
23
|
it { should be_a_kind_of(PagSeguro::Session::Response) }
|
24
24
|
end
|
25
|
+
|
26
|
+
context 'with alternative email and token' do
|
27
|
+
subject { session.create('alternative') }
|
28
|
+
before do
|
29
|
+
stub_request(:post, "https://ws.pagseguro.uol.com.br/v2/sessions").
|
30
|
+
with(body: "email=alt_mail&token=alt_token").to_return(status: 200)
|
31
|
+
end
|
32
|
+
|
33
|
+
it { should be_a_kind_of(PagSeguro::Session::Response) }
|
34
|
+
end
|
25
35
|
end
|
26
36
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagseguro-transparente
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cirdes Henrique
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-11-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|