stone_ecommerce 1.2.3 → 1.2.4

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.
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,49 +1,49 @@
1
- module Gateway
2
-
3
- class Person
4
- # Nome da pessoa
5
- attr_accessor :Name
6
-
7
- # Define se � pessoa f�sica ou jur�dica
8
- attr_accessor :PersonType
9
-
10
- # N�mero do documento
11
- attr_accessor :DocumentNumber
12
-
13
- # Tipo de documento
14
- attr_accessor :DocumentType
15
-
16
- # Sexo da pessoa
17
- attr_accessor :Gender
18
-
19
- # Data de nascimento
20
- attr_accessor :Birthdate
21
-
22
- # E-mail
23
- attr_accessor :Email
24
-
25
- # Tipo do email. Pessoal ou comercial
26
- attr_accessor :EmailType
27
-
28
- # C�digo identificador do cadastro no Facebook
29
- attr_accessor :FacebookId
30
-
31
- # C�digo identificador do cadastro no Twitter
32
- attr_accessor :TwitterId
33
-
34
- # Telefone celular
35
- attr_accessor :MobilePhone
36
-
37
- # Telefone Residencial
38
- attr_accessor :HomePhone
39
-
40
- # Telefone comercial
41
- attr_accessor :WorkPhone
42
-
43
- def to_json
44
- hash = {}
45
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
46
- hash
47
- end
48
- end
1
+ module Gateway
2
+
3
+ class Person
4
+ # Nome da pessoa
5
+ attr_accessor :Name
6
+
7
+ # Define se � pessoa f�sica ou jur�dica
8
+ attr_accessor :PersonType
9
+
10
+ # N�mero do documento
11
+ attr_accessor :DocumentNumber
12
+
13
+ # Tipo de documento
14
+ attr_accessor :DocumentType
15
+
16
+ # Sexo da pessoa
17
+ attr_accessor :Gender
18
+
19
+ # Data de nascimento
20
+ attr_accessor :Birthdate
21
+
22
+ # E-mail
23
+ attr_accessor :Email
24
+
25
+ # Tipo do email. Pessoal ou comercial
26
+ attr_accessor :EmailType
27
+
28
+ # C�digo identificador do cadastro no Facebook
29
+ attr_accessor :FacebookId
30
+
31
+ # C�digo identificador do cadastro no Twitter
32
+ attr_accessor :TwitterId
33
+
34
+ # Telefone celular
35
+ attr_accessor :MobilePhone
36
+
37
+ # Telefone Residencial
38
+ attr_accessor :HomePhone
39
+
40
+ # Telefone comercial
41
+ attr_accessor :WorkPhone
42
+
43
+ def to_json
44
+ hash = {}
45
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
46
+ hash
47
+ end
48
+ end
49
49
  end
@@ -1,25 +1,25 @@
1
- module Gateway
2
-
3
- class Recurrency
4
- # Frequ�ncia da recorr�ncia
5
- attr_accessor :Frequency
6
-
7
- # Intervalo de recorr�ncia
8
- attr_accessor :Interval
9
-
10
- # Data da primeira cobran�a
11
- attr_accessor :DateToStartBilling
12
-
13
- # Total de recorr�ncias
14
- attr_accessor :Recurrences
15
-
16
- # Informa se ser� necess�rio efetuar o procedimento OneDollarAuth antes de registrar a recorr�ncia
17
- attr_accessor :OneDollarAuth
18
-
19
- def to_json
20
- hash = {}
21
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
22
- hash
23
- end
24
- end
1
+ module Gateway
2
+
3
+ class Recurrency
4
+ # Frequ�ncia da recorr�ncia
5
+ attr_accessor :Frequency
6
+
7
+ # Intervalo de recorr�ncia
8
+ attr_accessor :Interval
9
+
10
+ # Data da primeira cobran�a
11
+ attr_accessor :DateToStartBilling
12
+
13
+ # Total de recorr�ncias
14
+ attr_accessor :Recurrences
15
+
16
+ # Informa se ser� necess�rio efetuar o procedimento OneDollarAuth antes de registrar a recorr�ncia
17
+ attr_accessor :OneDollarAuth
18
+
19
+ def to_json
20
+ hash = {}
21
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
22
+ hash
23
+ end
24
+ end
25
25
  end
@@ -1,38 +1,38 @@
1
- module Gateway
2
-
3
- class CreateSaleRequest
4
-
5
- attr_accessor :CreditCardTransactionCollection
6
-
7
- attr_accessor :BoletoTransactionCollection
8
-
9
- attr_accessor :Order
10
-
11
- attr_accessor :Buyer
12
-
13
- attr_accessor :ShoppingCartCollection
14
-
15
- attr_accessor :Options
16
-
17
- attr_accessor :Merchant
18
-
19
- attr_accessor :RequestData
20
-
21
- def initialize
22
- @CreditCardTransactionCollection = Array.new
23
- @BoletoTransactionCollection = Array.new
24
- @ShoppingCartCollection = Array.new
25
- @Buyer = Buyer.new
26
- @RequestData = RequestData.new
27
- @Options = SalesOption.new
28
- @Merchant = Merchant.new
29
- @Order = Order.new
30
- end
31
-
32
- def to_json
33
- hash = {}
34
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
35
- hash
36
- end
37
- end
1
+ module Gateway
2
+
3
+ class CreateSaleRequest
4
+
5
+ attr_accessor :CreditCardTransactionCollection
6
+
7
+ attr_accessor :BoletoTransactionCollection
8
+
9
+ attr_accessor :Order
10
+
11
+ attr_accessor :Buyer
12
+
13
+ attr_accessor :ShoppingCartCollection
14
+
15
+ attr_accessor :Options
16
+
17
+ attr_accessor :Merchant
18
+
19
+ attr_accessor :RequestData
20
+
21
+ def initialize
22
+ @CreditCardTransactionCollection = Array.new
23
+ @BoletoTransactionCollection = Array.new
24
+ @ShoppingCartCollection = Array.new
25
+ @Buyer = Buyer.new
26
+ @RequestData = RequestData.new
27
+ @Options = SalesOption.new
28
+ @Merchant = Merchant.new
29
+ @Order = Order.new
30
+ end
31
+
32
+ def to_json
33
+ hash = {}
34
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
35
+ hash
36
+ end
37
+ end
38
38
  end
@@ -1,19 +1,19 @@
1
- module Gateway
2
-
3
- class ManageSaleRequest
4
-
5
- attr_accessor :CreditCardTransactionCollection
6
-
7
- attr_accessor :OrderKey
8
-
9
- def initialize
10
- @CreditCardTransactionCollection = Array.new;
11
- end
12
-
13
- def to_json
14
- hash = {}
15
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
16
- hash
17
- end
18
- end
1
+ module Gateway
2
+
3
+ class ManageSaleRequest
4
+
5
+ attr_accessor :CreditCardTransactionCollection
6
+
7
+ attr_accessor :OrderKey
8
+
9
+ def initialize
10
+ @CreditCardTransactionCollection = Array.new;
11
+ end
12
+
13
+ def to_json
14
+ hash = {}
15
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
16
+ hash
17
+ end
18
+ end
19
19
  end
@@ -1,38 +1,38 @@
1
- module Gateway
2
-
3
- class QuerySaleRequest
4
- attr_accessor :OrderKey
5
-
6
- attr_accessor :OrderReference
7
-
8
- attr_accessor :CreditCardTransactionKey
9
-
10
- attr_accessor :CreditCardTransactionReference
11
-
12
- attr_accessor :BoletoTransactionKey
13
-
14
- attr_accessor :BoletoTransactionReference
15
-
16
- attr_accessor :QuerySaleRequestEnum
17
-
18
- # Enum feito para as chamadas do m�todo query
19
- @@QuerySaleRequestEnum = {
20
- :OrderKey => 'OrderKey',
21
- :OrderReference => 'OrderReference',
22
- :CreditCardTransactionKey => 'CreditCardTransactionKey',
23
- :CreditCardTransactionReference => 'CreditCardTransactionReference',
24
- :BoletoTransactionKey => 'BoletoTransactionKey',
25
- :BoletoTransactionReference => 'BoletoTransactionReference'
26
- }
27
-
28
- def self.QuerySaleRequestEnum
29
- @@QuerySaleRequestEnum
30
- end
31
-
32
- def to_json
33
- hash = {}
34
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
35
- hash
36
- end
37
- end
1
+ module Gateway
2
+
3
+ class QuerySaleRequest
4
+ attr_accessor :OrderKey
5
+
6
+ attr_accessor :OrderReference
7
+
8
+ attr_accessor :CreditCardTransactionKey
9
+
10
+ attr_accessor :CreditCardTransactionReference
11
+
12
+ attr_accessor :BoletoTransactionKey
13
+
14
+ attr_accessor :BoletoTransactionReference
15
+
16
+ attr_accessor :QuerySaleRequestEnum
17
+
18
+ # Enum feito para as chamadas do m�todo query
19
+ @@QuerySaleRequestEnum = {
20
+ :OrderKey => 'OrderKey',
21
+ :OrderReference => 'OrderReference',
22
+ :CreditCardTransactionKey => 'CreditCardTransactionKey',
23
+ :CreditCardTransactionReference => 'CreditCardTransactionReference',
24
+ :BoletoTransactionKey => 'BoletoTransactionKey',
25
+ :BoletoTransactionReference => 'BoletoTransactionReference'
26
+ }
27
+
28
+ def self.QuerySaleRequestEnum
29
+ @@QuerySaleRequestEnum
30
+ end
31
+
32
+ def to_json
33
+ hash = {}
34
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
35
+ hash
36
+ end
37
+ end
38
38
  end
@@ -1,22 +1,22 @@
1
- module Gateway
2
-
3
- class RequestData
4
- # Identificador da origem de venda na loja
5
- attr_accessor :Origin
6
-
7
- # Identificador da sess�o do usu�rio no sistema da loja (utilizado pelo servi�o de antifraude)
8
- attr_accessor :SessionId
9
-
10
- # Endere�o IP do cliente da loja
11
- attr_accessor :IpAddress
12
-
13
- # Categoria da venda e-commerce. B2B ou B2C
14
- attr_accessor :EcommerceCategory
15
-
16
- def to_json
17
- hash = {}
18
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
19
- hash
20
- end
21
- end
1
+ module Gateway
2
+
3
+ class RequestData
4
+ # Identificador da origem de venda na loja
5
+ attr_accessor :Origin
6
+
7
+ # Identificador da sess�o do usu�rio no sistema da loja (utilizado pelo servi�o de antifraude)
8
+ attr_accessor :SessionId
9
+
10
+ # Endere�o IP do cliente da loja
11
+ attr_accessor :IpAddress
12
+
13
+ # Categoria da venda e-commerce. B2B ou B2C
14
+ attr_accessor :EcommerceCategory
15
+
16
+ def to_json
17
+ hash = {}
18
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
19
+ hash
20
+ end
21
+ end
22
22
  end
@@ -1,16 +1,16 @@
1
- module Gateway
2
-
3
- class RetrySaleOptions
4
- # Indica se o limite extendido est� habilitado
5
- attr_accessor :ExtendedLimitEnabled
6
-
7
- # C�digo do limite extendido
8
- attr_accessor :ExtendedLimitCode
9
-
10
- def to_json
11
- hash = {}
12
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
13
- hash
14
- end
15
- end
1
+ module Gateway
2
+
3
+ class RetrySaleOptions
4
+ # Indica se o limite extendido est� habilitado
5
+ attr_accessor :ExtendedLimitEnabled
6
+
7
+ # C�digo do limite extendido
8
+ attr_accessor :ExtendedLimitCode
9
+
10
+ def to_json
11
+ hash = {}
12
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
13
+ hash
14
+ end
15
+ end
16
16
  end
@@ -1,23 +1,23 @@
1
- require_relative 'retry_sale_options'
2
- module Gateway
3
-
4
- class RetrySaleRequest
5
-
6
- attr_accessor :Options
7
-
8
- attr_accessor :OrderKey
9
-
10
- attr_accessor :RetrySaleCreditCardTransactionCollection
11
-
12
- def initialize
13
- @RetrySaleCreditCardTransactionCollection = Array.new
14
- @Options = RetrySaleOptions.new
15
- end
16
-
17
- def to_json
18
- hash = {}
19
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
20
- hash
21
- end
22
- end
23
- end
1
+ require_relative 'retry_sale_options'
2
+ module Gateway
3
+
4
+ class RetrySaleRequest
5
+
6
+ attr_accessor :Options
7
+
8
+ attr_accessor :OrderKey
9
+
10
+ attr_accessor :RetrySaleCreditCardTransactionCollection
11
+
12
+ def initialize
13
+ @RetrySaleCreditCardTransactionCollection = Array.new
14
+ @Options = RetrySaleOptions.new
15
+ end
16
+
17
+ def to_json
18
+ hash = {}
19
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
20
+ hash
21
+ end
22
+ end
23
+ end
@@ -1,31 +1,31 @@
1
- require_relative 'sale_order_data'
2
-
3
- class SaleData
4
- # Lista transa��es de cart�o de cr�dito
5
- attr_accessor :CreditCardTransactionDataCollection
6
-
7
- # Lista as transa��es de boleto
8
- attr_accessor :BoletoTransactionDataCollection
9
-
10
- # Dados do pedido
11
- attr_accessor :OrderData
12
-
13
- # Chave do comprador. Utilzada para identificar um comprador no gateway
14
- attr_accessor :BuyerKey
15
-
16
- # Dados de servi�o do antifraude
17
- attr_accessor :AntiFraudAnalysisData
18
-
19
- def initialize
20
- @CreditCardTransactionDataCollection = Array.new
21
- @BoletoTransactionDataCollection = Array.new
22
- @OrderData = SaleOrderData.new
23
- end
24
-
25
- def to_json
26
- hash = {}
27
- instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
28
- hash
29
- end
30
-
1
+ require_relative 'sale_order_data'
2
+
3
+ class SaleData
4
+ # Lista transa��es de cart�o de cr�dito
5
+ attr_accessor :CreditCardTransactionDataCollection
6
+
7
+ # Lista as transa��es de boleto
8
+ attr_accessor :BoletoTransactionDataCollection
9
+
10
+ # Dados do pedido
11
+ attr_accessor :OrderData
12
+
13
+ # Chave do comprador. Utilzada para identificar um comprador no gateway
14
+ attr_accessor :BuyerKey
15
+
16
+ # Dados de servi�o do antifraude
17
+ attr_accessor :AntiFraudAnalysisData
18
+
19
+ def initialize
20
+ @CreditCardTransactionDataCollection = Array.new
21
+ @BoletoTransactionDataCollection = Array.new
22
+ @OrderData = SaleOrderData.new
23
+ end
24
+
25
+ def to_json
26
+ hash = {}
27
+ instance_variables.each {|var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
28
+ hash
29
+ end
30
+
31
31
  end
@@ -1,19 +1,19 @@
1
- module Gateway
2
-
3
- class SaleOrderData
4
- # N�mero do pedido no sistema da loja
5
- attr_accessor :OrderReference
6
-
7
- # Chave do pedido. Utilizado para identificar o pedido no Gateway
8
- attr_accessor :OrderKey
9
-
10
- # Data de cria��o do pedido no Gateway
11
- attr_accessor :CreateDate
12
-
13
- def to_json
14
- hash = {}
15
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
16
- hash
17
- end
18
- end
1
+ module Gateway
2
+
3
+ class SaleOrderData
4
+ # N�mero do pedido no sistema da loja
5
+ attr_accessor :OrderReference
6
+
7
+ # Chave do pedido. Utilizado para identificar o pedido no Gateway
8
+ attr_accessor :OrderKey
9
+
10
+ # Data de cria��o do pedido no Gateway
11
+ attr_accessor :CreateDate
12
+
13
+ def to_json
14
+ hash = {}
15
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
16
+ hash
17
+ end
18
+ end
19
19
  end
@@ -1,19 +1,19 @@
1
- module Gateway
2
-
3
- class SalesOption
4
-
5
- attr_accessor :IsAntiFraudEnabled
6
-
7
- attr_accessor :AntiFraudServiceCode
8
-
9
- attr_accessor :Retries
10
-
11
- attr_accessor :CurrencyIso
12
-
13
- def to_json
14
- hash = {}
15
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
16
- hash
17
- end
18
- end
1
+ module Gateway
2
+
3
+ class SalesOption
4
+
5
+ attr_accessor :IsAntiFraudEnabled
6
+
7
+ attr_accessor :AntiFraudServiceCode
8
+
9
+ attr_accessor :Retries
10
+
11
+ attr_accessor :CurrencyIso
12
+
13
+ def to_json
14
+ hash = {}
15
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
16
+ hash
17
+ end
18
+ end
19
19
  end
@@ -1,28 +1,28 @@
1
- module Gateway
2
-
3
- class ShoppingCartCollection
4
-
5
- attr_accessor :FreighCostInCents
6
-
7
- attr_accessor :EstimatedDeliveryDate
8
-
9
- attr_accessor :DeliveryDeadline
10
-
11
- attr_accessor :ShippingCompany
12
-
13
- attr_accessor :DeliveryAddress
14
-
15
- attr_accessor :ShoppingCartItemCollection
16
-
17
- def initialize
18
- @ShoppingCartItemCollection = Array.new
19
- @DeliveryAddress = DeliveryAddress.new
20
- end
21
-
22
- def to_json
23
- hash = {}
24
- instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
25
- hash
26
- end
27
- end
1
+ module Gateway
2
+
3
+ class ShoppingCartCollection
4
+
5
+ attr_accessor :FreighCostInCents
6
+
7
+ attr_accessor :EstimatedDeliveryDate
8
+
9
+ attr_accessor :DeliveryDeadline
10
+
11
+ attr_accessor :ShippingCompany
12
+
13
+ attr_accessor :DeliveryAddress
14
+
15
+ attr_accessor :ShoppingCartItemCollection
16
+
17
+ def initialize
18
+ @ShoppingCartItemCollection = Array.new
19
+ @DeliveryAddress = DeliveryAddress.new
20
+ end
21
+
22
+ def to_json
23
+ hash = {}
24
+ instance_variables.each { |var| hash[var.to_s.delete('@')] = instance_variable_get(var) }
25
+ hash
26
+ end
27
+ end
28
28
  end