rbraspag 0.0.11 → 0.0.12
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/Gemfile.lock +3 -3
- data/config/braspag.yml +12 -0
- data/lib/rbraspag/bill.rb +79 -79
- data/lib/rbraspag/connection.rb +15 -5
- data/lib/rbraspag/credit_card.rb +52 -42
- data/lib/rbraspag/crypto/jar_webservice.rb +12 -14
- data/lib/rbraspag/crypto/webservice.rb +14 -17
- data/lib/rbraspag/eft.rb +32 -48
- data/lib/rbraspag/order.rb +7 -37
- data/lib/rbraspag/utils.rb +27 -3
- data/lib/rbraspag/version.rb +1 -1
- data/lib/rbraspag.rb +0 -7
- data/rbraspag-0.0.11.gem +0 -0
- data/spec/bill_spec.rb +399 -314
- data/spec/connection_spec.rb +101 -26
- data/spec/credit_card_spec.rb +117 -48
- data/spec/crypto/jar_webservice_spec.rb +3 -6
- data/spec/crypto/webservice_spec.rb +9 -31
- data/spec/eft_spec.rb +137 -156
- data/spec/order_spec.rb +10 -24
- data/spec/utils_spec.rb +2 -0
- metadata +22 -20
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rbraspag (0.0.
|
4
|
+
rbraspag (0.0.11)
|
5
5
|
cs-httpi (>= 0.9.5.2)
|
6
6
|
json
|
7
7
|
nokogiri
|
@@ -25,8 +25,8 @@ GEM
|
|
25
25
|
json (1.5.3)
|
26
26
|
linecache19 (0.5.12)
|
27
27
|
ruby_core_source (>= 0.1.4)
|
28
|
-
nokogiri (1.
|
29
|
-
rack (1.
|
28
|
+
nokogiri (1.5.0)
|
29
|
+
rack (1.3.0)
|
30
30
|
rspec (2.6.0)
|
31
31
|
rspec-core (~> 2.6.0)
|
32
32
|
rspec-expectations (~> 2.6.0)
|
data/config/braspag.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
development:
|
2
|
+
merchant_id: "{84BE7E7F-698A-6C74-F820-AE359C2A07C2}"
|
3
|
+
braspag_url: "https://homologacao.pagador.com.br"
|
4
|
+
crypto_url: "http://localhost:9292"
|
5
|
+
crypto_key: "1234561246"
|
6
|
+
|
7
|
+
test:
|
8
|
+
merchant_id: "{84BE7E7F-698A-6C74-F820-AE359C2A07C2}"
|
9
|
+
braspag_url: "https://homologacao.pagador.com.br"
|
10
|
+
crypto_url: "http://localhost:9292"
|
11
|
+
crypto_key: "1234561246"
|
12
|
+
|
data/lib/rbraspag/bill.rb
CHANGED
@@ -27,70 +27,58 @@ module Braspag
|
|
27
27
|
:emails => "emails"
|
28
28
|
}
|
29
29
|
|
30
|
-
def initialize(connection, params)
|
31
|
-
raise InvalidConnection unless connection.is_a?(Braspag::Connection)
|
32
30
|
|
33
|
-
|
34
|
-
|
35
|
-
|
31
|
+
def self.generate(params)
|
32
|
+
connection = Braspag::Connection.instance
|
33
|
+
params = params
|
34
|
+
params[:merchant_id] = connection.merchant_id
|
36
35
|
|
37
|
-
if
|
38
|
-
|
36
|
+
if params[:expiration_date].is_a?(Date)
|
37
|
+
params[:expiration_date] = params[:expiration_date].strftime("%d/%m/%y")
|
39
38
|
end
|
40
39
|
|
41
|
-
if
|
42
|
-
|
40
|
+
if params[:amount] && !params[:amount].is_a?(BigDecimal)
|
41
|
+
params[:amount] = BigDecimal.new(params[:amount].to_s)
|
43
42
|
end
|
44
43
|
|
45
|
-
|
46
|
-
end
|
47
|
-
|
48
|
-
def [](key)
|
49
|
-
@params[key]
|
50
|
-
end
|
51
|
-
|
52
|
-
def ok?
|
53
|
-
raise IncompleteParams if @params[:order_id].nil? || @params[:amount].nil? || @params[:payment_method].nil?
|
44
|
+
raise IncompleteParams if params[:order_id].nil? || params[:amount].nil? || params[:payment_method].nil?
|
54
45
|
|
55
|
-
raise InvalidOrderId unless
|
56
|
-
raise InvalidOrderId unless (1..50).include?(
|
46
|
+
raise InvalidOrderId unless params[:order_id].is_a?(String) || params[:order_id].is_a?(Fixnum)
|
47
|
+
raise InvalidOrderId unless (1..50).include?(params[:order_id].to_s.size)
|
57
48
|
|
58
|
-
unless
|
59
|
-
raise InvalidCustomerName unless (1..255).include?(
|
49
|
+
unless params[:customer_name].nil?
|
50
|
+
raise InvalidCustomerName unless (1..255).include?(params[:customer_name].to_s.size)
|
60
51
|
end
|
61
52
|
|
62
|
-
unless
|
63
|
-
raise InvalidCustomerId unless (11..18).include?(
|
53
|
+
unless params[:customer_id].nil?
|
54
|
+
raise InvalidCustomerId unless (11..18).include?(params[:customer_id].to_s.size)
|
64
55
|
end
|
65
56
|
|
66
|
-
unless
|
67
|
-
raise InvalidNumber unless (1..255).include?(
|
57
|
+
unless params[:number].nil?
|
58
|
+
raise InvalidNumber unless (1..255).include?(params[:number].to_s.size)
|
68
59
|
end
|
69
60
|
|
70
|
-
unless
|
71
|
-
raise InvalidInstructions unless (1..512).include?(
|
61
|
+
unless params[:instructions].nil?
|
62
|
+
raise InvalidInstructions unless (1..512).include?(params[:instructions].to_s.size)
|
72
63
|
end
|
73
64
|
|
74
|
-
unless
|
65
|
+
unless params[:expiration_date].nil?
|
75
66
|
date_regexp = /(0[1-9]|1[0-9]|2[0-9]|3[01])\/(0[1-9]|1[012])\/\d\d/
|
76
|
-
raise InvalidExpirationDate unless
|
67
|
+
raise InvalidExpirationDate unless params[:expiration_date].to_s =~ date_regexp
|
77
68
|
end
|
78
69
|
|
79
|
-
unless
|
70
|
+
unless params[:payment_method].is_a?(Symbol) && PAYMENT_METHODS[params[:payment_method]]
|
80
71
|
raise InvalidPaymentMethod
|
81
72
|
end
|
82
73
|
|
83
|
-
true
|
84
|
-
end
|
85
74
|
|
86
|
-
def generate
|
87
75
|
data = MAPPING.inject({}) do |memo, k|
|
88
76
|
if k[0] == :payment_method
|
89
|
-
memo[k[1]] = PAYMENT_METHODS[
|
77
|
+
memo[k[1]] = PAYMENT_METHODS[params[:payment_method]]
|
90
78
|
elsif k[0] == :amount
|
91
|
-
memo[k[1]] = Utils.convert_decimal_to_string(
|
79
|
+
memo[k[1]] = Utils.convert_decimal_to_string(params[:amount])
|
92
80
|
else
|
93
|
-
memo[k[1]] =
|
81
|
+
memo[k[1]] = params[k[0]] || "";
|
94
82
|
end
|
95
83
|
|
96
84
|
memo
|
@@ -100,8 +88,24 @@ module Braspag
|
|
100
88
|
request.body = data
|
101
89
|
|
102
90
|
response = ::HTTPI.post request
|
103
|
-
response = convert_to_map
|
104
|
-
|
91
|
+
response = Utils::convert_to_map(response.body,
|
92
|
+
{
|
93
|
+
:url => nil,
|
94
|
+
:amount => nil,
|
95
|
+
:number => "boletoNumber",
|
96
|
+
:expiration_date => Proc.new { |document|
|
97
|
+
begin
|
98
|
+
Date.parse(document.search("expirationDate").first.to_s)
|
99
|
+
rescue
|
100
|
+
nil
|
101
|
+
end
|
102
|
+
},
|
103
|
+
:return_code => "returnCode",
|
104
|
+
:status => nil,
|
105
|
+
:message => nil
|
106
|
+
})
|
107
|
+
|
108
|
+
|
105
109
|
raise InvalidAmount if response[:message] == "Invalid purchase amount"
|
106
110
|
raise InvalidMerchantId if response[:message] == "Invalid merchantId"
|
107
111
|
raise InvalidPaymentMethod if response[:message] == "Invalid payment method"
|
@@ -113,49 +117,45 @@ module Braspag
|
|
113
117
|
response
|
114
118
|
end
|
115
119
|
|
116
|
-
protected
|
117
|
-
|
118
|
-
def uri
|
119
|
-
"#{@connection.base_url}/webservices/pagador/Boleto.asmx/CreateBoleto"
|
120
|
-
end
|
121
120
|
|
122
|
-
def
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
map[keyForMap] = keyValue.call
|
153
|
-
end
|
121
|
+
def self.info(order_id)
|
122
|
+
connection = Braspag::Connection.instance
|
123
|
+
|
124
|
+
raise InvalidOrderId unless order_id.is_a?(String) || order_id.is_a?(Fixnum)
|
125
|
+
raise InvalidOrderId unless (1..50).include?(order_id.to_s.size)
|
126
|
+
|
127
|
+
request = ::HTTPI::Request.new("#{connection.braspag_url}/pagador/webservice/pedido.asmx/GetDadosBoleto")
|
128
|
+
request.body = {:loja => connection.merchant_id, :numeroPedido => order_id.to_s}
|
129
|
+
|
130
|
+
response = ::HTTPI.post(request)
|
131
|
+
|
132
|
+
response = Utils::convert_to_map(response.body, {
|
133
|
+
:document_number => "NumeroDocumento",
|
134
|
+
:payer => "Sacado",
|
135
|
+
:our_number => "NossoNumero",
|
136
|
+
:bill_line => "LinhaDigitavel",
|
137
|
+
:document_date => "DataDocumento",
|
138
|
+
:expiration_date => "DataVencimento",
|
139
|
+
:receiver => "Cedente",
|
140
|
+
:bank => "Banco",
|
141
|
+
:agency => "Agencia",
|
142
|
+
:account => "Conta",
|
143
|
+
:wallet => "Carteira",
|
144
|
+
:amount => "ValorDocumento",
|
145
|
+
:amount_invoice => "ValorPago",
|
146
|
+
:invoice_date => "DataCredito"
|
147
|
+
})
|
148
|
+
|
149
|
+
raise UnknownError if response[:document_number].nil?
|
150
|
+
response
|
154
151
|
|
155
|
-
|
156
|
-
end
|
152
|
+
end
|
157
153
|
|
158
|
-
|
154
|
+
protected
|
155
|
+
|
156
|
+
def self.uri
|
157
|
+
connection = Braspag::Connection.instance
|
158
|
+
"#{connection.braspag_url}/webservices/pagador/Boleto.asmx/CreateBoleto"
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
data/lib/rbraspag/connection.rb
CHANGED
@@ -1,16 +1,26 @@
|
|
1
1
|
module Braspag
|
2
2
|
class Connection
|
3
|
+
include Singleton
|
3
4
|
class InvalidMerchantId < Exception ; end
|
5
|
+
class InvalidEnv < Exception ; end
|
6
|
+
class InvalidBraspagUrl < Exception ; end
|
4
7
|
|
5
|
-
attr_reader :
|
8
|
+
attr_reader :braspag_url, :merchant_id, :crypto_url, :crypto_key
|
9
|
+
|
10
|
+
def initialize
|
11
|
+
raise InvalidEnv if ENV["RACK_ENV"].nil? || ENV["RACK_ENV"].empty?
|
12
|
+
options = YAML.load_file("config/braspag.yml")
|
13
|
+
options = options[ENV["RACK_ENV"]]
|
14
|
+
|
15
|
+
merchant_id = options["merchant_id"]
|
6
16
|
|
7
|
-
def initialize(merchant_id, environment = :production)
|
8
17
|
raise InvalidMerchantId unless merchant_id.length == 38
|
9
18
|
raise InvalidMerchantId unless merchant_id.match /\{[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}\}/i
|
19
|
+
raise InvalidBraspagUrl if options["braspag_url"].nil? || options["braspag_url"].empty?
|
10
20
|
|
11
|
-
|
12
|
-
@
|
13
|
-
@
|
21
|
+
@crypto_key = options["crypto_key"]
|
22
|
+
@crypto_url = options["crypto_url"]
|
23
|
+
@braspag_url = options["braspag_url"]
|
14
24
|
@merchant_id = merchant_id
|
15
25
|
end
|
16
26
|
end
|
data/lib/rbraspag/credit_card.rb
CHANGED
@@ -44,21 +44,18 @@ module Braspag
|
|
44
44
|
:type => "typePayment",
|
45
45
|
}
|
46
46
|
|
47
|
-
def
|
48
|
-
|
49
|
-
@connection = connection
|
50
|
-
@merchant_id = connection.merchant_id
|
47
|
+
def self.uri_authorize
|
48
|
+
"#{Braspag::Connection.instance.braspag_url}/webservices/pagador/Pagador.asmx/Authorize"
|
51
49
|
end
|
52
50
|
|
53
|
-
def
|
54
|
-
"#{
|
51
|
+
def self.uri_capture
|
52
|
+
"#{Braspag::Connection.instance.braspag_url}/webservices/pagador/Pagador.asmx/Capture"
|
55
53
|
end
|
56
54
|
|
57
|
-
def
|
58
|
-
|
59
|
-
|
55
|
+
def self.authorize(params = {})
|
56
|
+
connection = Braspag::Connection.instance
|
57
|
+
params[:merchant_id] = connection.merchant_id
|
60
58
|
|
61
|
-
def authorize params
|
62
59
|
[:order_id, :customer_name, :amount, :payment_method, :holder,
|
63
60
|
:card_number, :expiration, :security_code, :number_payments, :type].each do |param|
|
64
61
|
raise IncompleteParams unless params.include?(param)
|
@@ -87,51 +84,64 @@ module Braspag
|
|
87
84
|
request = ::HTTPI::Request.new uri_authorize
|
88
85
|
request.body = data
|
89
86
|
response = ::HTTPI.post request
|
90
|
-
|
87
|
+
Utils::convert_to_map(response.body, {
|
88
|
+
:amount => nil,
|
89
|
+
:number => "authorisationNumber",
|
90
|
+
:message => 'message',
|
91
|
+
:return_code => 'returnCode',
|
92
|
+
:status => 'status',
|
93
|
+
:transaction_id => "transactionId"
|
94
|
+
})
|
91
95
|
end
|
92
96
|
|
93
|
-
def capture(order_id)
|
97
|
+
def self.capture(order_id)
|
98
|
+
connection = Braspag::Connection.instance
|
99
|
+
merchant_id = connection.merchant_id
|
100
|
+
|
94
101
|
raise InvalidOrderId unless (1..20).include?(order_id.to_s.size)
|
95
102
|
|
96
|
-
data = {MAPPING[:order_id] => order_id, "merchantId" =>
|
103
|
+
data = {MAPPING[:order_id] => order_id, "merchantId" => merchant_id }
|
97
104
|
request = ::HTTPI::Request.new uri_capture
|
98
105
|
|
99
106
|
request.body = data
|
100
107
|
response = ::HTTPI.post(request)
|
101
|
-
|
108
|
+
|
109
|
+
Utils::convert_to_map(response.body, {
|
110
|
+
:amount => nil,
|
111
|
+
:number => "authorisationNumber",
|
112
|
+
:message => 'message',
|
113
|
+
:return_code => 'returnCode',
|
114
|
+
:status => 'status',
|
115
|
+
:transaction_id => "transactionId"
|
116
|
+
})
|
102
117
|
end
|
103
118
|
|
104
|
-
def convert_to_map(document)
|
105
|
-
document = Nokogiri::XML(document)
|
106
|
-
|
107
|
-
map = {
|
108
|
-
:amount => nil,
|
109
|
-
:number => "authorisationNumber",
|
110
|
-
:message => 'message',
|
111
|
-
:return_code => 'returnCode',
|
112
|
-
:status => 'status',
|
113
|
-
:transaction_id => "transactionId"
|
114
|
-
}
|
115
|
-
|
116
|
-
map.each do |keyForMap , keyValue|
|
117
|
-
if keyValue.is_a?(String) || keyValue.nil?
|
118
|
-
keyValue = keyForMap if keyValue.nil?
|
119
|
-
|
120
|
-
value = document.search(keyValue).first
|
121
|
-
if !value.nil?
|
122
|
-
value = value.content.to_s
|
123
|
-
map[keyForMap] = value unless value == ""
|
124
|
-
end
|
125
|
-
|
126
|
-
elsif keyValue.is_a?(Proc)
|
127
|
-
map[keyForMap] = keyValue.call
|
128
|
-
end
|
129
119
|
|
130
|
-
|
131
|
-
|
120
|
+
def self.info(order_id)
|
121
|
+
connection = Braspag::Connection.instance
|
122
|
+
|
123
|
+
raise InvalidOrderId unless order_id.is_a?(String) || order_id.is_a?(Fixnum)
|
124
|
+
raise InvalidOrderId unless (1..50).include?(order_id.to_s.size)
|
125
|
+
|
126
|
+
request = ::HTTPI::Request.new("#{connection.braspag_url}/pagador/webservice/pedido.asmx/GetDadosCartao")
|
127
|
+
request.body = {:loja => connection.merchant_id, :numeroPedido => order_id.to_s}
|
128
|
+
|
129
|
+
response = ::HTTPI.post(request)
|
130
|
+
|
131
|
+
response = Utils::convert_to_map(response.body, {
|
132
|
+
:checking_number => "NumeroComprovante",
|
133
|
+
:certified => "Autenticada",
|
134
|
+
:autorization_number => "NumeroAutorizacao",
|
135
|
+
:card_number => "NumeroCartao",
|
136
|
+
:transaction_number => "NumeroTransacao"
|
137
|
+
})
|
138
|
+
|
139
|
+
raise UnknownError if response[:checking_number].nil?
|
140
|
+
response
|
132
141
|
|
133
|
-
map
|
134
142
|
end
|
143
|
+
|
144
|
+
|
135
145
|
end
|
136
146
|
end
|
137
147
|
|
@@ -1,19 +1,14 @@
|
|
1
1
|
module Braspag
|
2
2
|
module Crypto
|
3
3
|
class JarWebservice
|
4
|
-
|
5
|
-
|
6
|
-
@crypto_key = crypto_key
|
7
|
-
@connection_uri = connection_uri
|
8
|
-
end
|
9
|
-
|
10
|
-
def encrypt(map)
|
4
|
+
def self.encrypt(map)
|
5
|
+
crypto_key = Braspag::Connection.instance.crypto_key
|
11
6
|
raise Braspag::IncompleteParams if map.nil?
|
12
7
|
raise Braspag::IncompleteParams unless map.is_a?(Hash)
|
13
8
|
|
14
9
|
request = ::HTTPI::Request.new encrypt_uri
|
15
10
|
|
16
|
-
data = {:key =>
|
11
|
+
data = {:key => crypto_key, :fields => map}
|
17
12
|
|
18
13
|
request.headers["Content-Type"] = "application/json"
|
19
14
|
|
@@ -38,7 +33,8 @@ module Braspag
|
|
38
33
|
response["encrypt"]
|
39
34
|
end
|
40
35
|
|
41
|
-
def decrypt(encrypted, fields)
|
36
|
+
def self.decrypt(encrypted, fields)
|
37
|
+
crypto_key = Braspag::Connection.instance.crypto_key
|
42
38
|
raise Braspag::InvalidEncryptedKey if encrypted.nil?
|
43
39
|
raise Braspag::InvalidEncryptedKey unless encrypted.is_a?(String)
|
44
40
|
|
@@ -48,7 +44,7 @@ module Braspag
|
|
48
44
|
|
49
45
|
request = ::HTTPI::Request.new decrypt_uri
|
50
46
|
request.body = {
|
51
|
-
"key" =>
|
47
|
+
"key" => crypto_key,
|
52
48
|
"encrypted" => encrypted,
|
53
49
|
"fields" => fields
|
54
50
|
}.to_json
|
@@ -80,12 +76,14 @@ module Braspag
|
|
80
76
|
end
|
81
77
|
|
82
78
|
protected
|
83
|
-
def encrypt_uri
|
84
|
-
|
79
|
+
def self.encrypt_uri
|
80
|
+
connection_uri = Braspag::Connection.instance.crypto_url
|
81
|
+
"#{connection_uri}/v1/encrypt.json"
|
85
82
|
end
|
86
83
|
|
87
|
-
def decrypt_uri
|
88
|
-
|
84
|
+
def self.decrypt_uri
|
85
|
+
connection_uri = Braspag::Connection.instance.crypto_url
|
86
|
+
"#{connection_uri}/v1/decrypt.json"
|
89
87
|
end
|
90
88
|
|
91
89
|
end
|
@@ -1,15 +1,12 @@
|
|
1
1
|
module Braspag
|
2
2
|
module Crypto
|
3
3
|
class Webservice
|
4
|
-
def
|
5
|
-
|
6
|
-
end
|
7
|
-
|
8
|
-
def encrypt(map)
|
4
|
+
def self.encrypt(map)
|
5
|
+
connection = Braspag::Connection.instance
|
9
6
|
raise Braspag::IncompleteParams if map.nil?
|
10
7
|
raise Braspag::IncompleteParams unless map.is_a?(Hash)
|
11
8
|
|
12
|
-
request = ::HTTPI::Request.new uri
|
9
|
+
request = ::HTTPI::Request.new self.uri
|
13
10
|
|
14
11
|
fields = "\n"
|
15
12
|
map.each do |key, value|
|
@@ -22,7 +19,7 @@ module Braspag
|
|
22
19
|
<env:Header />
|
23
20
|
<env:Body>
|
24
21
|
<tns:EncryptRequest xmlns:tns="https://www.pagador.com.br/webservice/BraspagGeneralService">
|
25
|
-
<tns:merchantId>#{
|
22
|
+
<tns:merchantId>#{connection.merchant_id}</tns:merchantId>
|
26
23
|
<tns:request>
|
27
24
|
#{fields}
|
28
25
|
</tns:request>
|
@@ -48,12 +45,13 @@ STRING
|
|
48
45
|
response
|
49
46
|
end
|
50
47
|
|
51
|
-
def decrypt(encripted_text)
|
48
|
+
def self.decrypt(encripted_text)
|
49
|
+
connection = Braspag::Connection.instance
|
52
50
|
|
53
51
|
raise Braspag::IncompleteParams if encripted_text.nil?
|
54
52
|
raise Braspag::IncompleteParams unless encripted_text.is_a?(String)
|
55
53
|
|
56
|
-
request = ::HTTPI::Request.new uri
|
54
|
+
request = ::HTTPI::Request.new self.uri
|
57
55
|
|
58
56
|
request.body = <<-STRING
|
59
57
|
<?xml version="1.0" encoding="utf-8"?>
|
@@ -61,7 +59,7 @@ STRING
|
|
61
59
|
<env:Header />
|
62
60
|
<env:Body>
|
63
61
|
<tns:DecryptRequest xmlns:tns="https://www.pagador.com.br/webservice/BraspagGeneralService">
|
64
|
-
<tns:merchantId>#{
|
62
|
+
<tns:merchantId>#{connection.merchant_id}</tns:merchantId>
|
65
63
|
<tns:cryptString>#{encripted_text}</tns:cryptString>
|
66
64
|
</tns:DecryptRequest>
|
67
65
|
</env:Body>
|
@@ -80,16 +78,16 @@ STRING
|
|
80
78
|
raise Braspag::InvalidMerchantId if (result_error == 'Erro BP 011' || result_error == 'Erro BP 012')
|
81
79
|
raise Braspag::InvalidIP if (result_error == 'Erro BP 067' || result_error == 'Erro BP 068')
|
82
80
|
|
83
|
-
convert_request_to_map document
|
81
|
+
self.convert_request_to_map document
|
84
82
|
end
|
85
|
-
|
86
83
|
|
87
84
|
protected
|
88
|
-
def uri
|
89
|
-
|
85
|
+
def self.uri
|
86
|
+
connection = Braspag::Connection.instance
|
87
|
+
"#{connection.braspag_url}/BraspagGeneralService/BraspagGeneralService.asmx"
|
90
88
|
end
|
91
89
|
|
92
|
-
def convert_request_to_map(document)
|
90
|
+
def self.convert_request_to_map(document)
|
93
91
|
map = {}
|
94
92
|
document.children.children.children.children.children.each do |n|
|
95
93
|
values = n.content.to_s.split("=")
|
@@ -97,7 +95,6 @@ STRING
|
|
97
95
|
end
|
98
96
|
map
|
99
97
|
end
|
100
|
-
|
101
98
|
end
|
102
99
|
end
|
103
|
-
end
|
100
|
+
end
|