stone_ecommerce 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +202 -202
  3. data/README.md +58 -58
  4. data/lib/gateway/Address/billing_address.rb +33 -33
  5. data/lib/gateway/Address/buyer_address.rb +38 -38
  6. data/lib/gateway/Address/delivery_address.rb +34 -34
  7. data/lib/gateway/BoletoTransaction/boleto_transaction.rb +40 -40
  8. data/lib/gateway/BoletoTransaction/boleto_transaction_options.rb +16 -16
  9. data/lib/gateway/BoletoTransaction/boleto_transaction_report_file.rb +22 -22
  10. data/lib/gateway/CreditCardTransaction/credit_card.rb +30 -30
  11. data/lib/gateway/CreditCardTransaction/credit_card_transaction.rb +33 -33
  12. data/lib/gateway/CreditCardTransaction/credit_card_transaction_options.rb +28 -28
  13. data/lib/gateway/CreditCardTransaction/credit_card_transaction_report_file.rb +31 -31
  14. data/lib/gateway/CreditCardTransaction/manage_credit_card_transaction.rb +14 -14
  15. data/lib/gateway/CreditCardTransaction/retry_sale_credit_card_transaction.rb +14 -14
  16. data/lib/gateway/Gateway.rb +621 -621
  17. data/lib/gateway/InstantBuyData/create_instant_buy_data_request.rb +30 -30
  18. data/lib/gateway/InstantBuyData/update_instant_buy_data_request.rb +10 -10
  19. data/lib/gateway/Merchant/merchant.rb +12 -12
  20. data/lib/gateway/OnlineDebit/online_debit_transaction_report_file.rb +21 -21
  21. data/lib/gateway/Order/order.rb +13 -13
  22. data/lib/gateway/Order/order_transaction_report_file.rb +8 -8
  23. data/lib/gateway/Parsers/boleto_transaction_parser.rb +33 -33
  24. data/lib/gateway/Parsers/credit_card_transaction_parser.rb +42 -42
  25. data/lib/gateway/Parsers/header_parser.rb +16 -16
  26. data/lib/gateway/Parsers/online_debit_transaction_parser.rb +32 -32
  27. data/lib/gateway/Parsers/trailer_parser.rb +16 -16
  28. data/lib/gateway/Person/buyer.rb +32 -32
  29. data/lib/gateway/Person/create_buyer_request.rb +22 -22
  30. data/lib/gateway/Person/person.rb +48 -48
  31. data/lib/gateway/Recurrency/recurrency.rb +24 -24
  32. data/lib/gateway/Sale/create_sale_request.rb +37 -37
  33. data/lib/gateway/Sale/manage_sale_request.rb +18 -18
  34. data/lib/gateway/Sale/query_sale_request.rb +37 -37
  35. data/lib/gateway/Sale/request_data.rb +21 -21
  36. data/lib/gateway/Sale/retry_sale_options.rb +15 -15
  37. data/lib/gateway/Sale/retry_sale_request.rb +23 -23
  38. data/lib/gateway/Sale/sale_data.rb +30 -30
  39. data/lib/gateway/Sale/sale_order_data.rb +18 -18
  40. data/lib/gateway/SalesOption.rb +18 -18
  41. data/lib/gateway/ShoppingCart/shopping_cart.rb +27 -27
  42. data/lib/gateway/ShoppingCart/shopping_cart_item.rb +24 -24
  43. data/lib/gateway/Trailer.rb +8 -8
  44. data/lib/gateway/header.rb +7 -7
  45. data/lib/gateway/post_notification.rb +31 -31
  46. data/lib/gateway/transaction_report_file.rb +47 -47
  47. data/lib/stone_ecommerce.rb +61 -62
  48. data/spec/integration/gateway_spec.rb +1024 -1024
  49. data/spec/integration/test_helper.rb +68 -68
  50. data/stone_ecommerce.gemspec +20 -19
  51. metadata +27 -24
@@ -1,69 +1,69 @@
1
- require_relative '../../lib/stone_ecommerce'
2
- require 'gyoku'
3
- class TestHelper
4
-
5
- def self.JoinAndConvertAmountAndCents(amount, cents)
6
- amount_with_cents = amount.gsub(',', '.')
7
- return BigDecimal.new(amount_with_cents)
8
- end
9
-
10
- def self.CreateFakePostNotification(create_order_result, manage_order_result)
11
- xml = '<StatusNotification xmlns="http://schemas.datacontract.org/2004/07/Gateway.NotificationService.DataContract"
12
- xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
13
- <AmountInCents>?</AmountInCents>
14
- <AmountPaidInCents>?</AmountPaidInCents>
15
- <BoletoTransaction i:nil="true"/>
16
- <CreditCardTransaction>
17
- <Acquirer>Cielo</Acquirer>
18
- <AmountInCents>?</AmountInCents>
19
- <AuthorizedAmountInCents>?</AuthorizedAmountInCents>
20
- <CapturedAmountInCents>?</CapturedAmountInCents>
21
- <CreditCardBrand>?</CreditCardBrand>
22
- <RefundedAmountInCents i:nil="true"/>
23
- <StatusChangedDate>?</StatusChangedDate>
24
- <TransactionIdentifier>?</TransactionIdentifier>
25
- <TransactionKey>?</TransactionKey>
26
- <TransactionReference>?</TransactionReference>
27
- <UniqueSequentialNumber>?</UniqueSequentialNumber>
28
- <VoidedAmountInCents i:nil="true"/>
29
- <PreviousCreditCardTransactionStatus>?</PreviousCreditCardTransactionStatus>
30
- <CreditCardTransactionStatus>?</CreditCardTransactionStatus>
31
- </CreditCardTransaction>
32
- <MerchantKey>?</MerchantKey>
33
- <OrderKey>?</OrderKey>
34
- <OrderReference>?</OrderReference>
35
- <OrderStatus>?</OrderStatus>
36
- </StatusNotification>'
37
-
38
- parser = Nori.new(:convert_tags_to => lambda { |tag| tag })
39
- hash = parser.parse(xml)
40
-
41
- credit_card_result = create_order_result['CreditCardTransactionResultCollection'][0]
42
- manage_transaction_result = manage_order_result['CreditCardTransactionResultCollection'][0]
43
-
44
- root = hash['StatusNotification']
45
-
46
- root['AmountPaidInCents'] = 0
47
- root['CreditCardTransaction'] = {
48
- 'Acquirer' => 'Cielo',
49
- 'AmountInCents' =>credit_card_result['AmountInCents'],
50
- 'AuthorizedAmountInCents'=> credit_card_result['AmountInCents'],
51
- 'CapturedAmountInCents' =>credit_card_result['AmountInCents'],
52
- 'CreditCardBrand' => 'Visa',
53
- 'RefundedAmountInCents' => nil,
54
- 'StatusChangedDate' => DateTime.now,
55
- 'TransactionIdentifier' => Array.new(12){[*'0'..'9', *'A'..'Z'].sample}.join,
56
- 'TransactionKey'=> credit_card_result['TransactionKey'],
57
- 'TransactionReference'=> credit_card_result['TransactionReference'],
58
- 'UniqueSequentialNumber' => Array.new(6){[*'0'..'9'].sample}.join,
59
- 'PreviousCreditCardTransactionStatus' => credit_card_result['CreditCardTransactionStatus'],
60
- 'CreditCardTransactionStatus' => (manage_transaction_result.nil? == true) ? 'null' : manage_transaction_result['CreditCardTransactionStatus']
61
- }
62
- root['MerchantKey'] = create_order_result['MerchantKey']
63
- root['OrderKey'] = create_order_result['OrderResult']['OrderKey']
64
- root['OrderReference'] = create_order_result['OrderResult']['OrderReference']
65
- root['OrderStatus'] = (manage_transaction_result.nil? == true) ? 'null' : manage_transaction_result['CreditCardTransactionStatus']
66
-
67
- return CGI::escapeHTML(Gyoku.xml(hash))
68
- end
1
+ require_relative '../../lib/stone_ecommerce'
2
+ require 'gyoku'
3
+ class TestHelper
4
+
5
+ def self.JoinAndConvertAmountAndCents(amount, cents)
6
+ amount_with_cents = amount.gsub(',', '.')
7
+ return BigDecimal.new(amount_with_cents)
8
+ end
9
+
10
+ def self.CreateFakePostNotification(create_order_result, manage_order_result)
11
+ xml = '<StatusNotification xmlns="http://schemas.datacontract.org/2004/07/Gateway.NotificationService.DataContract"
12
+ xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
13
+ <AmountInCents>?</AmountInCents>
14
+ <AmountPaidInCents>?</AmountPaidInCents>
15
+ <BoletoTransaction i:nil="true"/>
16
+ <CreditCardTransaction>
17
+ <Acquirer>Cielo</Acquirer>
18
+ <AmountInCents>?</AmountInCents>
19
+ <AuthorizedAmountInCents>?</AuthorizedAmountInCents>
20
+ <CapturedAmountInCents>?</CapturedAmountInCents>
21
+ <CreditCardBrand>?</CreditCardBrand>
22
+ <RefundedAmountInCents i:nil="true"/>
23
+ <StatusChangedDate>?</StatusChangedDate>
24
+ <TransactionIdentifier>?</TransactionIdentifier>
25
+ <TransactionKey>?</TransactionKey>
26
+ <TransactionReference>?</TransactionReference>
27
+ <UniqueSequentialNumber>?</UniqueSequentialNumber>
28
+ <VoidedAmountInCents i:nil="true"/>
29
+ <PreviousCreditCardTransactionStatus>?</PreviousCreditCardTransactionStatus>
30
+ <CreditCardTransactionStatus>?</CreditCardTransactionStatus>
31
+ </CreditCardTransaction>
32
+ <MerchantKey>?</MerchantKey>
33
+ <OrderKey>?</OrderKey>
34
+ <OrderReference>?</OrderReference>
35
+ <OrderStatus>?</OrderStatus>
36
+ </StatusNotification>'
37
+
38
+ parser = Nori.new(:convert_tags_to => lambda { |tag| tag })
39
+ hash = parser.parse(xml)
40
+
41
+ credit_card_result = create_order_result['CreditCardTransactionResultCollection'][0]
42
+ manage_transaction_result = manage_order_result['CreditCardTransactionResultCollection'][0]
43
+
44
+ root = hash['StatusNotification']
45
+
46
+ root['AmountPaidInCents'] = 0
47
+ root['CreditCardTransaction'] = {
48
+ 'Acquirer' => 'Cielo',
49
+ 'AmountInCents' =>credit_card_result['AmountInCents'],
50
+ 'AuthorizedAmountInCents'=> credit_card_result['AmountInCents'],
51
+ 'CapturedAmountInCents' =>credit_card_result['AmountInCents'],
52
+ 'CreditCardBrand' => 'Visa',
53
+ 'RefundedAmountInCents' => nil,
54
+ 'StatusChangedDate' => DateTime.now,
55
+ 'TransactionIdentifier' => Array.new(12){[*'0'..'9', *'A'..'Z'].sample}.join,
56
+ 'TransactionKey'=> credit_card_result['TransactionKey'],
57
+ 'TransactionReference'=> credit_card_result['TransactionReference'],
58
+ 'UniqueSequentialNumber' => Array.new(6){[*'0'..'9'].sample}.join,
59
+ 'PreviousCreditCardTransactionStatus' => credit_card_result['CreditCardTransactionStatus'],
60
+ 'CreditCardTransactionStatus' => (manage_transaction_result.nil? == true) ? 'null' : manage_transaction_result['CreditCardTransactionStatus']
61
+ }
62
+ root['MerchantKey'] = create_order_result['MerchantKey']
63
+ root['OrderKey'] = create_order_result['OrderResult']['OrderKey']
64
+ root['OrderReference'] = create_order_result['OrderResult']['OrderReference']
65
+ root['OrderStatus'] = (manage_transaction_result.nil? == true) ? 'null' : manage_transaction_result['CreditCardTransactionStatus']
66
+
67
+ return CGI::escapeHTML(Gyoku.xml(hash))
68
+ end
69
69
  end
@@ -1,19 +1,20 @@
1
- Gem::Specification.new do |s|
2
- s.name = 'stone_ecommerce'
3
- s.summary = 'Stone Ruby Client Library'
4
- s.description = 'Ruby library for integrating with the Stone payment web services.'
5
- s.version = '1.2.3' # Major.Minor.Revision
6
- s.author = 'Stone Pagamentos'
7
- s.email = 'meajuda@stone.com.br'
8
- s.homepage = 'http://stone.com.br/'
9
- s.files = Dir.glob ["README.md", "LICENSE", "lib/**/*.{rb}", "spec/**/*", "*.gemspec"]
10
- s.add_dependency 'rest-client', '~> 1.8', '>= 1.8.0'
11
- s.add_dependency 'rspec', '~> 3.3', '>= 3.3.0'
12
- s.add_dependency 'nori', '~> 2.6', '>= 2.6.0'
13
- s.add_dependency 'gyoku', '~> 1.3', '>= 1.3.1'
14
- s.add_dependency 'nokogiri', '~> 1.6', '>= 1.6.6.2'
15
- s.add_dependency 'ffi', '~> 1.9', '>= 1.9.10'
16
- s.add_dependency 'bundler', '~> 1.10', '>= 1.10.6'
17
- s.required_ruby_version = '>= 2.1.7'
18
- s.license = 'Apache 2.0'
19
- end
1
+ Gem::Specification.new do |s|
2
+ s.name = 'stone_ecommerce'
3
+ s.summary = 'Stone Ruby Client Library'
4
+ s.description = 'Ruby library for integrating with the Stone payment web services.'
5
+ s.version = '1.2.4' # Major.Minor.Revision
6
+ s.author = 'Stone Pagamentos'
7
+ s.email = 'meajuda@stone.com.br'
8
+ s.homepage = 'http://stone.com.br/'
9
+ s.files = Dir.glob ["README.md", "LICENSE", "lib/**/*.{rb}", "*.gemspec"]
10
+ s.test_files = Dir.glob ["spec/**/*"]
11
+ s.add_dependency 'rest-client', '~> 1.8', '>= 1.8.0'
12
+ s.add_dependency 'nori', '~> 2.6', '>= 2.6.0'
13
+ s.add_dependency 'gyoku', '~> 1.3', '>= 1.3.1'
14
+ s.add_dependency 'nokogiri', '~> 1.6', '>= 1.6.6.2'
15
+ s.add_dependency 'ffi', '~> 1.9', '>= 1.9.10'
16
+ s.add_dependency 'bundler', '~> 1.10', '>= 1.10.6'
17
+ s.add_development_dependency 'rspec', '~> 3.3', '>= 3.3.0'
18
+ s.required_ruby_version = '>= 2.1.7'
19
+ s.license = 'Apache 2.0'
20
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stone_ecommerce
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stone Pagamentos
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-09 00:00:00.000000000 Z
11
+ date: 2016-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -30,26 +30,6 @@ dependencies:
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
32
  version: 1.8.0
33
- - !ruby/object:Gem::Dependency
34
- name: rspec
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: '3.3'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 3.3.0
43
- type: :runtime
44
- prerelease: false
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - "~>"
48
- - !ruby/object:Gem::Version
49
- version: '3.3'
50
- - - ">="
51
- - !ruby/object:Gem::Version
52
- version: 3.3.0
53
33
  - !ruby/object:Gem::Dependency
54
34
  name: nori
55
35
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +130,26 @@ dependencies:
150
130
  - - ">="
151
131
  - !ruby/object:Gem::Version
152
132
  version: 1.10.6
133
+ - !ruby/object:Gem::Dependency
134
+ name: rspec
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '3.3'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 3.3.0
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '3.3'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 3.3.0
153
153
  description: Ruby library for integrating with the Stone payment web services.
154
154
  email: meajuda@stone.com.br
155
155
  executables: []
@@ -226,8 +226,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
226
226
  version: '0'
227
227
  requirements: []
228
228
  rubyforge_project:
229
- rubygems_version: 2.2.5
229
+ rubygems_version: 2.4.8
230
230
  signing_key:
231
231
  specification_version: 4
232
232
  summary: Stone Ruby Client Library
233
- test_files: []
233
+ test_files:
234
+ - spec/integration/gateway_spec.rb
235
+ - spec/integration/test_helper.rb
236
+ - spec/spec_helper.rb