pagseguro_v2 0.0.1 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/README.md +33 -3
- data/Rakefile +2 -0
- data/lib/pagseguro_v2/address.rb +1 -1
- data/lib/pagseguro_v2/checkout.rb +8 -8
- data/lib/pagseguro_v2/client.rb +15 -1
- data/lib/pagseguro_v2/config.rb +2 -1
- data/lib/pagseguro_v2/errors/invalid_data.rb +1 -1
- data/lib/pagseguro_v2/errors/unauthorized.rb +2 -2
- data/lib/pagseguro_v2/errors/unknown_error.rb +1 -1
- data/lib/pagseguro_v2/inquiry.rb +13 -0
- data/lib/pagseguro_v2/item.rb +1 -1
- data/lib/pagseguro_v2/notification.rb +1 -1
- data/lib/pagseguro_v2/payment_method.rb +1 -9
- data/lib/pagseguro_v2/sender.rb +3 -3
- data/lib/pagseguro_v2/shipping.rb +1 -1
- data/lib/pagseguro_v2/transaction/payment.rb +52 -60
- data/lib/pagseguro_v2/transaction/shipping.rb +1 -2
- data/lib/pagseguro_v2/transaction/types.rb +11 -11
- data/lib/pagseguro_v2/transaction.rb +12 -2
- data/lib/pagseguro_v2/version.rb +1 -1
- data/lib/pagseguro_v2.rb +4 -3
- data/pagseguro_v2.gemspec +3 -2
- data/spec/spec_helper.rb +1 -1
- metadata +44 -15
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,34 @@
|
|
1
|
-
|
2
|
-
============
|
1
|
+
# PagSeguro V2
|
3
2
|
|
4
|
-
|
3
|
+
PagSeguro gem for API version 2
|
4
|
+
|
5
|
+
## Instalação
|
6
|
+
|
7
|
+
No Gemfile
|
8
|
+
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
|
12
|
+
gem "pagseguro_v2"
|
13
|
+
|
14
|
+
```
|
15
|
+
|
16
|
+
Ou via RubyGems, diretamente:
|
17
|
+
|
18
|
+
`$ gem install pagseguro_v2`
|
19
|
+
|
20
|
+
|
21
|
+
## Uso
|
22
|
+
|
23
|
+
|
24
|
+
## Autores
|
25
|
+
|
26
|
+
* Cirdes Henrique - cirdes@eventick.br
|
27
|
+
|
28
|
+
* Thiago Diniz - thiago@eventick.com.br
|
29
|
+
|
30
|
+
## Contribuindo
|
31
|
+
|
32
|
+
## Licença
|
33
|
+
|
34
|
+
A gem PagSeguro V2 está sob a licença do MIT com atribuições ao Eventick http://eventick.com.br/
|
data/Rakefile
CHANGED
data/lib/pagseguro_v2/address.rb
CHANGED
@@ -10,7 +10,7 @@ module PagseguroV2
|
|
10
10
|
property :shipping
|
11
11
|
|
12
12
|
# The currency in which payment will be made
|
13
|
-
property :currency, :required => true, :default =>
|
13
|
+
property :currency, :required => true, :default => PagseguroV2::Config::CURRENCY
|
14
14
|
# List of items contained in the payment
|
15
15
|
property :items, :required => true
|
16
16
|
# Code that reference the payment
|
@@ -122,11 +122,11 @@ module PagseguroV2
|
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
end
|
125
|
+
private
|
126
|
+
# Todo: Melhorar
|
127
|
+
def convert_unit(number, unit)
|
128
|
+
number = (BigDecimal("#{number}") * unit).to_i unless number.nil? || number.kind_of?(Integer)
|
129
|
+
number
|
131
130
|
end
|
132
|
-
end
|
131
|
+
end
|
132
|
+
end
|
data/lib/pagseguro_v2/client.rb
CHANGED
@@ -4,6 +4,8 @@ require 'pagseguro_v2/config'
|
|
4
4
|
module PagseguroV2
|
5
5
|
class Client
|
6
6
|
include HTTParty
|
7
|
+
debug_output $stderr
|
8
|
+
|
7
9
|
base_uri PagseguroV2::Config::API_HOST
|
8
10
|
format :xml
|
9
11
|
|
@@ -28,6 +30,12 @@ module PagseguroV2
|
|
28
30
|
notification
|
29
31
|
end
|
30
32
|
|
33
|
+
def inquiry(attributes)
|
34
|
+
inquiry = Inquiry.new(attributes)
|
35
|
+
inquiry.client = self
|
36
|
+
inquiry
|
37
|
+
end
|
38
|
+
|
31
39
|
def proceed_checkout(checkout)
|
32
40
|
self.parse_post_response(PagseguroV2::Config::CHECKOUT_PATH, checkout)
|
33
41
|
end
|
@@ -38,6 +46,12 @@ module PagseguroV2
|
|
38
46
|
parse_get_response(path, options)
|
39
47
|
end
|
40
48
|
|
49
|
+
def inquiry_transaction(inquiry)
|
50
|
+
path = PagseguroV2::Config::INQUIRY_PATH.gsub 'ID', inquiry.transaction_id
|
51
|
+
options = { query: {email: email, token: token} }
|
52
|
+
parse_get_response(path, options)
|
53
|
+
end
|
54
|
+
|
41
55
|
def parse_post_response(path, object)
|
42
56
|
response = post(path, object)
|
43
57
|
parse_response(response)
|
@@ -72,4 +86,4 @@ module PagseguroV2
|
|
72
86
|
self.class.post(path, options)
|
73
87
|
end
|
74
88
|
end
|
75
|
-
end
|
89
|
+
end
|
data/lib/pagseguro_v2/config.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
module PagseguroV2
|
2
|
+
class Inquiry < Hashie::Trash
|
3
|
+
property :transaction_id
|
4
|
+
|
5
|
+
attr_accessor :client
|
6
|
+
|
7
|
+
def transaction
|
8
|
+
response = self.client.inquiry_transaction(self)
|
9
|
+
transaction = Transaction.new response['transaction']
|
10
|
+
transaction
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/pagseguro_v2/item.rb
CHANGED
data/lib/pagseguro_v2/sender.rb
CHANGED
@@ -1,68 +1,60 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module PagseguroV2
|
4
|
-
module
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
4
|
+
module Codes
|
5
|
+
class Payment
|
6
|
+
CODES = {
|
7
|
+
101 => "Cartão de crédito Visa",
|
8
|
+
102 => "Cartão de crédito MasterCard",
|
9
|
+
103 => "Cartão de crédito American Express",
|
10
|
+
104 => "Cartão de crédito Diners",
|
11
|
+
105 => "Cartão de crédito Hipercard",
|
12
|
+
106 => "Cartão de crédito Aura",
|
13
|
+
107 => "Cartão de crédito Elo",
|
14
|
+
108 => 'Cartão de crédito PLENOCard',
|
15
|
+
109 => 'Cartão de crédito PersonalCard',
|
16
|
+
110 => 'Cartão de crédito JCB',
|
17
|
+
111 => 'Cartão de crédito Discover',
|
18
|
+
112 => 'Cartão de crédito BrasilCard',
|
19
|
+
113 => 'Cartão de crédito FORTBRASIL',
|
20
|
+
201 => "Boleto Bradesco",
|
21
|
+
202 => "Boleto Santander",
|
22
|
+
301 => "Débito online Bradesco",
|
23
|
+
302 => "Débito online Itaú",
|
24
|
+
303 => "Débito online Unibanco",
|
25
|
+
304 => "Débito online Banco do Brasil",
|
26
|
+
305 => "Débito online Banco Real",
|
27
|
+
306 => "Débito online Banrisul",
|
28
|
+
307 => 'Débito online HSBC',
|
29
|
+
401 => "Saldo PagSeguro",
|
30
|
+
501 => "Oi Paggo"
|
31
|
+
}
|
32
32
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
33
|
+
TYPES = {
|
34
|
+
1 => :credit_card,
|
35
|
+
2 => :invoice,
|
36
|
+
3 => :online_transfer,
|
37
|
+
4 => :pagseguro,
|
38
|
+
5 => :oi_paggo
|
39
|
+
}
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
41
|
+
TYPES_STRINGS = {
|
42
|
+
credit_card: 'Cartão de crédito',
|
43
|
+
invoice: 'Boleto',
|
44
|
+
online_transfer: 'Débito online (TEF)',
|
45
|
+
pagseguro: 'Saldo PagSeguro',
|
46
|
+
oi_paggo: 'Oi Paggo',
|
47
|
+
}
|
48
48
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
#1 Aguardando pagamento: o comprador iniciou a transação, mas até o momento o PagSeguro não recebeu nenhuma informação sobre o pagamento.
|
60
|
-
#2 Em análise: o comprador optou por pagar com um cartão de crédito e o PagSeguro está analisando o risco da transação.
|
61
|
-
#3 Paga: a transação foi paga pelo comprador e o PagSeguro já recebeu uma confirmação da instituição financeira responsável pelo processamento.
|
62
|
-
#4 Disponível: a transação foi paga e chegou ao final de seu prazo de liberação sem ter sido retornada e sem que haja nenhuma disputa aberta.
|
63
|
-
#5 Em disputa: o comprador, dentro do prazo de liberação da transação, abriu uma disputa.
|
64
|
-
#6 Devolvida: o valor da transação foi devolvido para o comprador.
|
65
|
-
#7 Cancelada: a transação foi cancelada sem ter sido finalizada.
|
49
|
+
STATUS = {
|
50
|
+
1 => :pending,
|
51
|
+
2 => :verifying,
|
52
|
+
3 => :approved,
|
53
|
+
4 => :completed,
|
54
|
+
5 => :completed,
|
55
|
+
6 => :dispute,
|
56
|
+
7 => :canceled
|
57
|
+
}
|
66
58
|
end
|
67
59
|
end
|
68
|
-
end
|
60
|
+
end
|
@@ -3,21 +3,21 @@ module PagseguroV2
|
|
3
3
|
module Types
|
4
4
|
TYPES = {
|
5
5
|
payment: 1,
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
transfer: 2,
|
7
|
+
fund_addition: 3,
|
8
|
+
withdraw: 4,
|
9
|
+
charge: 5,
|
10
|
+
donation: 6,
|
11
|
+
bonus: 7,
|
12
|
+
bonus_repass: 8,
|
13
|
+
operational: 9,
|
14
|
+
political_donation: 10
|
15
15
|
}
|
16
16
|
|
17
17
|
TYPES_STRINGS = {
|
18
18
|
payment: 'Pagamento',
|
19
|
-
|
19
|
+
transfer: 'Tranferencia',
|
20
20
|
}
|
21
21
|
end
|
22
22
|
end
|
23
|
-
end
|
23
|
+
end
|
@@ -5,8 +5,10 @@ module PagseguroV2
|
|
5
5
|
property :reference
|
6
6
|
property :type
|
7
7
|
property :status
|
8
|
+
property :status_code
|
8
9
|
|
9
10
|
property :payment_method, :from => :paymentMethod
|
11
|
+
property :payment_link, :from => :paymentLink
|
10
12
|
|
11
13
|
property :gross_amount, :from => :grossAmount
|
12
14
|
property :discount_amount, :from => :discountAmount
|
@@ -21,9 +23,17 @@ module PagseguroV2
|
|
21
23
|
property :shipping
|
22
24
|
property :last_event_date, :from => :lastEventDate
|
23
25
|
property :escrow_end_date, :from => :escrowEndDate
|
26
|
+
property :cancellation_source, :from => :cancellationSource
|
24
27
|
|
25
|
-
def
|
26
|
-
|
28
|
+
def initialize(options)
|
29
|
+
translate_status(options)
|
30
|
+
super(options)
|
31
|
+
end
|
32
|
+
|
33
|
+
def translate_status(options)
|
34
|
+
status_code = options["status"]
|
35
|
+
options["status"] = Codes::Payment::STATUS[status_code.to_i]
|
36
|
+
options["status_code"] = status_code
|
27
37
|
end
|
28
38
|
end
|
29
39
|
end
|
data/lib/pagseguro_v2/version.rb
CHANGED
data/lib/pagseguro_v2.rb
CHANGED
@@ -16,16 +16,17 @@ require 'pagseguro_v2/address'
|
|
16
16
|
require "pagseguro_v2/sender"
|
17
17
|
require "pagseguro_v2/shipping"
|
18
18
|
require "pagseguro_v2/notification"
|
19
|
+
require "pagseguro_v2/inquiry"
|
19
20
|
require "pagseguro_v2/transaction"
|
21
|
+
require "pagseguro_v2/transaction/payment"
|
20
22
|
|
21
23
|
require "pagseguro_v2/errors/invalid_data"
|
22
|
-
|
24
|
+
require "pagseguro_v2/errors/unknown_error"
|
23
25
|
require "pagseguro_v2/errors/unauthorized"
|
24
26
|
|
25
27
|
# Error classes
|
26
28
|
#require "errors/unauthorized"
|
27
29
|
|
28
|
-
|
29
30
|
module PagseguroV2
|
30
31
|
# Your code goes here...
|
31
|
-
end
|
32
|
+
end
|
data/pagseguro_v2.gemspec
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# encoding: utf-8
|
2
2
|
$:.push File.expand_path("../lib", __FILE__)
|
3
3
|
require "pagseguro_v2/version"
|
4
4
|
|
@@ -8,6 +8,7 @@ Gem::Specification.new do |s|
|
|
8
8
|
s.platform = Gem::Platform::RUBY
|
9
9
|
s.authors = ["Cirdes Henrique", "Thiago Diniz"]
|
10
10
|
s.email = ["oi@eventick.com.br"]
|
11
|
+
s.license = "MIT"
|
11
12
|
s.homepage = "http://github.com/eventick/pagseguro_v2"
|
12
13
|
s.summary = %q{Ruby gem for interfacing with Pagseguro V2 API. By http://eventick.co}
|
13
14
|
s.description = %q{Ruby gem for interfacing with Pagseguro V2 API.}
|
@@ -24,4 +25,4 @@ Gem::Specification.new do |s|
|
|
24
25
|
s.add_runtime_dependency "hashie", '>= 1.2.0'
|
25
26
|
s.add_runtime_dependency "httparty"
|
26
27
|
s.add_runtime_dependency "builder"
|
27
|
-
end
|
28
|
+
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pagseguro_v2
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2013-03-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: rspec
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ~>
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: 2.10.0
|
34
39
|
type: :development
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: 2.10.0
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: hashie
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ! '>='
|
@@ -44,10 +54,15 @@ dependencies:
|
|
44
54
|
version: 1.2.0
|
45
55
|
type: :runtime
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 1.2.0
|
48
63
|
- !ruby/object:Gem::Dependency
|
49
64
|
name: httparty
|
50
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
67
|
requirements:
|
53
68
|
- - ! '>='
|
@@ -55,10 +70,15 @@ dependencies:
|
|
55
70
|
version: '0'
|
56
71
|
type: :runtime
|
57
72
|
prerelease: false
|
58
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
59
79
|
- !ruby/object:Gem::Dependency
|
60
80
|
name: builder
|
61
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
83
|
requirements:
|
64
84
|
- - ! '>='
|
@@ -66,7 +86,12 @@ dependencies:
|
|
66
86
|
version: '0'
|
67
87
|
type: :runtime
|
68
88
|
prerelease: false
|
69
|
-
version_requirements:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
70
95
|
description: Ruby gem for interfacing with Pagseguro V2 API.
|
71
96
|
email:
|
72
97
|
- oi@eventick.com.br
|
@@ -87,6 +112,7 @@ files:
|
|
87
112
|
- lib/pagseguro_v2/errors/invalid_data.rb
|
88
113
|
- lib/pagseguro_v2/errors/unauthorized.rb
|
89
114
|
- lib/pagseguro_v2/errors/unknown_error.rb
|
115
|
+
- lib/pagseguro_v2/inquiry.rb
|
90
116
|
- lib/pagseguro_v2/item.rb
|
91
117
|
- lib/pagseguro_v2/notification.rb
|
92
118
|
- lib/pagseguro_v2/payment_method.rb
|
@@ -101,7 +127,8 @@ files:
|
|
101
127
|
- spec/pagseguro_v2/checkout_spec.rb
|
102
128
|
- spec/spec_helper.rb
|
103
129
|
homepage: http://github.com/eventick/pagseguro_v2
|
104
|
-
licenses:
|
130
|
+
licenses:
|
131
|
+
- MIT
|
105
132
|
post_install_message:
|
106
133
|
rdoc_options: []
|
107
134
|
require_paths:
|
@@ -120,8 +147,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
120
147
|
version: '0'
|
121
148
|
requirements: []
|
122
149
|
rubyforge_project: pagseguro_v2
|
123
|
-
rubygems_version: 1.8.
|
150
|
+
rubygems_version: 1.8.25
|
124
151
|
signing_key:
|
125
152
|
specification_version: 3
|
126
153
|
summary: Ruby gem for interfacing with Pagseguro V2 API. By http://eventick.co
|
127
|
-
test_files:
|
154
|
+
test_files:
|
155
|
+
- spec/pagseguro_v2/checkout_spec.rb
|
156
|
+
- spec/spec_helper.rb
|