pag_seguro 0.1.4 → 0.1.6
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.
- data/README.md +64 -0
- data/lib/pag_seguro/version.rb +1 -1
- data/spec/pag_seguro/integration/checkout_spec.rb +7 -0
- data/spec/pag_seguro/integration/config.yml +2 -2
- metadata +10 -10
- data/README.markdown +0 -9
data/README.md
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
# PagSeguro
|
2
|
+
|
3
|
+
Esta gem foi criada com o intuito de facilitar o uso da versão 2 das APIs do PagSeguro, como pagamento e notificações através de código Ruby. Esta gem não depende de rails e portanto pode ser utilizada com uma aplicação Rack ou como Backend de outra aplicação sem precisar carregar um environment rails.
|
4
|
+
|
5
|
+
Utilizando esta gem é possível enviar informações de compra ao pag seguro sem necessitar renderizar um formulário, impedindo o usuário de forjar informações pois as informações são trocadas apenas entre a sua aplicação e o pagseguro sem intermédio do usuário.
|
6
|
+
|
7
|
+
Esta gem foi desenvolvida para utilizar Ruby 1.9.2 ou superior, e não têm compatibilidade com versões anteriores. Caso deseje utilizar esta gem com versões anteriores de ruby, faça um fork desta gem e corrija os problemas encontrados.
|
8
|
+
|
9
|
+
## Instalação
|
10
|
+
|
11
|
+
Adicione a `gem "pag_seguro"` ao seu Gemfile:
|
12
|
+
|
13
|
+
gem 'pag_seguro'
|
14
|
+
|
15
|
+
Além disso, é necessário que tenha uma conta no pag seguro, e que habilite as seguintes configurações:
|
16
|
+
|
17
|
+
Em Integrações -> Token de segurança clique em Gerar novo token e guarde esta informação em local seguro
|
18
|
+
Em Integrações -> Pagamentos via API é necessário ativar a opção "Quero receber somente pagamentos via API."
|
19
|
+
Em Integrações -> Notificação de transações é necessário ativar a notificação de transações e definir a url de retorno
|
20
|
+
|
21
|
+
## Documentação da API e dos attributos
|
22
|
+
|
23
|
+
A nomenclatura dos atributos esperados pelo PagSeguro foram mantidas porém no padrão underscore (que é o padrão de ruby, ao invés do camelcase utilizado pelo pagseguro). Seguem os links das documentações dos attributos no pagseguro:
|
24
|
+
|
25
|
+
* [API de pagamentos](https://pagseguro.uol.com.br/v2/guia-de-integracao/api-de-pagamentos.html#v2-item-api-de-pagamentos-parametros-api)
|
26
|
+
* [API de notificação](https://pagseguro.uol.com.br/v2/guia-de-integracao/api-de-notificacoes.html)
|
27
|
+
|
28
|
+
## Documentação
|
29
|
+
|
30
|
+
Segue um exemplo de uso desta gem (para mais exemplos, olhe o arquivo spec/integration/checkout_spec.rb):
|
31
|
+
|
32
|
+
payment = PagSeguro::Payment.new(EMAIL, TOKEN)
|
33
|
+
|
34
|
+
payment.items = [
|
35
|
+
PagSeguro::Item.new(id: 25, description: "A Bic Pen", amount: "1.50", quantity: "4", shipping_cost: "1.00", weight: 10),
|
36
|
+
PagSeguro::Item.new(id: 17, description: "A pipe", amount: "3.00", quantity: "89")
|
37
|
+
]
|
38
|
+
|
39
|
+
redirect_to_url = payment.checkout_payment_url
|
40
|
+
|
41
|
+
Além dos items presentes no exemplo acima, é possível configurar `payment.sender` (com informações do usuário que está efetuando a compra) e `payment.shipping` ( com as informações de endereço ).
|
42
|
+
|
43
|
+
## Validações
|
44
|
+
|
45
|
+
Os modelos utilizados nesta gem utilizam as validações do ActiveModel (semelhantes às presentes em ActiveRecord/Rails) e incluem diversas validações, permitindo que se verifique a validade (utilizando object.valid?) dos dados antes de enviá-los ao PagSeguro. A gem não bloqueia o envio das informações caso os dados estejam inválidos, deixando este passo a cargo da sua aplicação, mas levanta erros caso o pag seguro retorne algum erro relativo às informações enviadas.
|
46
|
+
|
47
|
+
## Testes
|
48
|
+
|
49
|
+
Esta gem possui testes extensivos utilizando Rspec. Para rodar os estes, altere o arquivo spec/pag_seguro/integration/config.yml com seus dados no pag_seguro, entre na pasta onde a gem está instalada e execute:
|
50
|
+
|
51
|
+
bundle
|
52
|
+
guard
|
53
|
+
|
54
|
+
## Contribuindo
|
55
|
+
|
56
|
+
Caso queira contribuir, faça um fork desta gem no [github](https://github.com/heavenstudio/pag_seguro), escreva os testes respectivos ao bug/feature desejados e faça um merge request.
|
57
|
+
|
58
|
+
## TODO
|
59
|
+
|
60
|
+
Permitir realizar [consultas de transações](https://pagseguro.uol.com.br/v2/guia-de-integracao/consultas.html)
|
61
|
+
|
62
|
+
## Sobre
|
63
|
+
|
64
|
+
Desenvolvida por [Stefano Diem Benatti](mailto:stefano.diem@gmail.com)
|
data/lib/pag_seguro/version.rb
CHANGED
@@ -23,6 +23,13 @@ describe "PagSeguro::Payment.code" do
|
|
23
23
|
payment = create_valid_payment
|
24
24
|
payment.code.size.should == 32
|
25
25
|
end
|
26
|
+
|
27
|
+
it "should be valid even without a sender and shipping information" do
|
28
|
+
payment = create_valid_payment
|
29
|
+
payment.sender = nil
|
30
|
+
payment.shipping = nil
|
31
|
+
payment.code.size.should == 32
|
32
|
+
end
|
26
33
|
|
27
34
|
it "should tell me when the email and token are invalid" do
|
28
35
|
payment = PagSeguro::Payment.new("not_a_user@not_an_email.com", "NOTATOKEN7F048A09A8AEFDD1E5A7B91")
|
@@ -1,2 +1,2 @@
|
|
1
|
-
email:
|
2
|
-
token:
|
1
|
+
email: seu_email_cadastrado@nopagseguro.com.br
|
2
|
+
token: SEU_TOKEN_GERADO_NO_PAG_SEGURO
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pag_seguro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-02-17 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
16
|
-
requirement: &
|
16
|
+
requirement: &2168863380 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2168863380
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: haml
|
27
|
-
requirement: &
|
27
|
+
requirement: &2168862900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *2168862900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: nokogiri
|
38
|
-
requirement: &
|
38
|
+
requirement: &2168862140 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *2168862140
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rest-client
|
49
|
-
requirement: &
|
49
|
+
requirement: &2168861420 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: 1.6.7
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *2168861420
|
58
58
|
description:
|
59
59
|
email:
|
60
60
|
- stefano.diem@gmail.com
|
@@ -66,7 +66,7 @@ files:
|
|
66
66
|
- .rspec
|
67
67
|
- Gemfile
|
68
68
|
- Guardfile
|
69
|
-
- README.
|
69
|
+
- README.md
|
70
70
|
- Rakefile
|
71
71
|
- lib/pag_seguro.rb
|
72
72
|
- lib/pag_seguro/checkout.xml.haml
|
data/README.markdown
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
Esta gem foi criada com o intuito de facilitar o uso da versão 2 das APIs do PagSeguro, como pagamento e notificações.
|
2
|
-
|
3
|
-
Para exemplos de uso, olhe spec/pag_seguro/integration/checkout_spec.rb
|
4
|
-
Para rodar os testes de integração, é necessário alterar os arquivo spec/pag_seguro/integration/config.yml com seu e-mail e token cadastrados no PagSeguro
|
5
|
-
|
6
|
-
Desenvolvida por Stefano Diem Benatti e Thiago Colucci (stefano@heavenstudio.com.br, ticolucci@gmail.com)
|
7
|
-
|
8
|
-
Obrigado à:
|
9
|
-
- Nando Vieira pela gem pagseguro que usei por bastante tempo
|