pag_seguro 0.1.4 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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