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 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)
@@ -1,3 +1,3 @@
1
1
  module PagSeguro
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.6"
3
3
  end
@@ -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: billing@heavenstudio.com.br
2
- token: 97392F4047F048A09A8AEFDD1E5A7B91
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
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: &2152459520 !ruby/object:Gem::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: *2152459520
24
+ version_requirements: *2168863380
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: haml
27
- requirement: &2152458800 !ruby/object:Gem::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: *2152458800
35
+ version_requirements: *2168862900
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: nokogiri
38
- requirement: &2152458100 !ruby/object:Gem::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: *2152458100
46
+ version_requirements: *2168862140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rest-client
49
- requirement: &2152457160 !ruby/object:Gem::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: *2152457160
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.markdown
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