braspag_rails 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +32 -0
- data/lib/braspag_rails/action_controller.rb +4 -0
- data/lib/braspag_rails/base.rb +40 -0
- data/lib/braspag_rails/codigos.rb +250 -0
- data/lib/braspag_rails/consultas.rb +49 -0
- data/lib/braspag_rails/generator.rb +12 -0
- data/lib/braspag_rails/railtie.rb +17 -0
- data/lib/braspag_rails/transacoes/credito.rb +165 -0
- data/lib/braspag_rails/transacoes/debito.rb +52 -0
- data/lib/braspag_rails/transacoes/fraude.rb +203 -0
- data/lib/braspag_rails/util.rb +45 -0
- data/lib/braspag_rails/version.rb +3 -0
- data/lib/braspag_rails.rb +7 -0
- data/lib/tasks/braspag_rails_tasks.rake +4 -0
- data/lib/templates/config.yml +18 -0
- data/test/braspag_rails_test.rb +7 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/concerns/testes_antifraude.rb +73 -0
- data/test/dummy/app/models/concerns/testes_credito.rb +15 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config/application.rb +25 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/braspag.yml +17 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +82 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/assets.rb +8 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +56 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/log/development.log +0 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/test_helper.rb +15 -0
- metadata +167 -0
@@ -0,0 +1,165 @@
|
|
1
|
+
require 'savon'
|
2
|
+
|
3
|
+
module BraspagRails
|
4
|
+
module Transacao
|
5
|
+
class Credito
|
6
|
+
|
7
|
+
extend ::Savon::Model
|
8
|
+
|
9
|
+
client wsdl: BraspagRails.config['wsdl_transacao']
|
10
|
+
global :open_timeout, 30
|
11
|
+
global :convert_request_keys_to, :none
|
12
|
+
operations :authorize_transaction, :capture_credit_card_transaction, :void_credit_card_transaction,
|
13
|
+
:refund_credit_card_transaction
|
14
|
+
|
15
|
+
# value = valor da autorização (em centavos)
|
16
|
+
# holder = Nome do cartão
|
17
|
+
# number = Numero do cartão
|
18
|
+
# code = Codigo de segurança
|
19
|
+
# date = Data de validate do cartão
|
20
|
+
# method = Meio de Pagamento (BraspagRails::MEIOS_DE_PAGAMENTO)
|
21
|
+
# number_payments = número de pagamentos
|
22
|
+
# plan = Plano de Pagamento (BraspagRails::PLANOS_DE_PAGAMENTO)
|
23
|
+
# tax = Taxa do Serviço (em centavos)
|
24
|
+
def self.autorizar(value,holder,number,code,date,method,number_payments,plan,tax=0)
|
25
|
+
resp = authorize_transaction(message: {
|
26
|
+
request: {
|
27
|
+
RequestId: SecureRandom.uuid,
|
28
|
+
Version: "1.0",
|
29
|
+
OrderData: {
|
30
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
31
|
+
OrderId: Random.rand(10000),
|
32
|
+
},
|
33
|
+
PaymentDataCollection: [
|
34
|
+
PaymentDataRequest: {
|
35
|
+
:'@xsi:type' => 'tns:CreditCardDataRequest',
|
36
|
+
PaymentMethod: method,
|
37
|
+
Amount: value,
|
38
|
+
Currency: BraspagRails.config['currency'],
|
39
|
+
Country: BraspagRails.config['country'],
|
40
|
+
NumberOfPayments: number_payments,
|
41
|
+
PaymentPlan: plan,
|
42
|
+
TransactionType: 1,
|
43
|
+
CardHolder: holder,
|
44
|
+
CardNumber: number,
|
45
|
+
CardSecurityCode: code,
|
46
|
+
CardExpirationDate: date,
|
47
|
+
ServiceTaxAmount: tax
|
48
|
+
}
|
49
|
+
],
|
50
|
+
CustomerData: {
|
51
|
+
CustomerName: BraspagRails.config['customer_name']
|
52
|
+
}
|
53
|
+
}
|
54
|
+
})
|
55
|
+
resp
|
56
|
+
end
|
57
|
+
|
58
|
+
# braspagid = Código do braspag
|
59
|
+
# value = valor da autorização (em centavos)
|
60
|
+
# tax = Taxa do Serviço (em centavos)
|
61
|
+
def self.capturar(braspagid,value,tax=0)
|
62
|
+
resp = capture_credit_card_transaction(message: {
|
63
|
+
request: {
|
64
|
+
RequestId: SecureRandom.uuid,
|
65
|
+
Version: "1.0",
|
66
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
67
|
+
TransactionDataCollection: [
|
68
|
+
TransactionDataRequest: {
|
69
|
+
BraspagTransactionId: braspagid,
|
70
|
+
Amount: value,
|
71
|
+
ServiceTaxAmount: tax
|
72
|
+
}
|
73
|
+
]
|
74
|
+
}
|
75
|
+
})
|
76
|
+
resp
|
77
|
+
end
|
78
|
+
|
79
|
+
# value = valor da autorização (em centavos)
|
80
|
+
# holder = Nome do cartão
|
81
|
+
# number = Numero do cartão
|
82
|
+
# code = Codigo de segurança
|
83
|
+
# date = Data de validate do cartão
|
84
|
+
# method = Meio de Pagamento (BraspagRails::MEIOS_DE_PAGAMENTO)
|
85
|
+
# number_payments = número de pagamentos
|
86
|
+
# plan = Plano de Pagamento (BraspagRails::PLANOS_DE_PAGAMENTO)
|
87
|
+
# taxa = Taxa do Serviço (em centavos)
|
88
|
+
def self.autorizar_capturar(value,holder,number,code,date,method,number_payments,plan,tax=0)
|
89
|
+
resp = authorize_transaction(message: {
|
90
|
+
request: {
|
91
|
+
RequestId: SecureRandom.uuid,
|
92
|
+
Version: "1.0",
|
93
|
+
OrderData: {
|
94
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
95
|
+
OrderId: Random.rand(10000),
|
96
|
+
},
|
97
|
+
PaymentDataCollection: [
|
98
|
+
PaymentDataRequest: {
|
99
|
+
:'@xsi:type' => 'tns:CreditCardDataRequest',
|
100
|
+
PaymentMethod: method,
|
101
|
+
Amount: value,
|
102
|
+
Currency: BraspagRails.config['currency'],
|
103
|
+
Country: BraspagRails.config['country'],
|
104
|
+
NumberOfPayments: number_payments,
|
105
|
+
PaymentPlan: plan,
|
106
|
+
TransactionType: 2,
|
107
|
+
CardHolder: holder,
|
108
|
+
CardNumber: number,
|
109
|
+
CardSecurityCode: code,
|
110
|
+
CardExpirationDate: date,
|
111
|
+
ServiceTaxAmount: tax
|
112
|
+
}
|
113
|
+
],
|
114
|
+
CustomerData: {
|
115
|
+
CustomerName: BraspagRails.config['customer_name']
|
116
|
+
}
|
117
|
+
}
|
118
|
+
})
|
119
|
+
resp
|
120
|
+
end
|
121
|
+
|
122
|
+
# braspagid = Código do braspag
|
123
|
+
# value = valor da autorização (em centavos)
|
124
|
+
# tax = Taxa do Serviço (em centavos)
|
125
|
+
def self.cancelar(braspagid,value,tax=0)
|
126
|
+
resp = void_credit_card_transaction(message: {
|
127
|
+
request: {
|
128
|
+
RequestId: SecureRandom.uuid,
|
129
|
+
Version: "1.0",
|
130
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
131
|
+
TransactionDataCollection: [
|
132
|
+
TransactionDataRequest: {
|
133
|
+
BraspagTransactionId: braspagid,
|
134
|
+
Amount: value,
|
135
|
+
ServiceTaxAmount: tax
|
136
|
+
}
|
137
|
+
]
|
138
|
+
}
|
139
|
+
})
|
140
|
+
resp
|
141
|
+
end
|
142
|
+
|
143
|
+
# braspagid = Código do braspag
|
144
|
+
# value = valor da autorização (em centavos)
|
145
|
+
# tax = Taxa do Serviço (em centavos)
|
146
|
+
def self.estornar(braspagid,value,tax=0)
|
147
|
+
resp = void_credit_card_transaction(message: {
|
148
|
+
request: {
|
149
|
+
RequestId: SecureRandom.uuid,
|
150
|
+
Version: "1.0",
|
151
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
152
|
+
TransactionDataCollection: [
|
153
|
+
TransactionDataRequest: {
|
154
|
+
BraspagTransactionId: braspagid,
|
155
|
+
Amount: value,
|
156
|
+
ServiceTaxAmount: tax
|
157
|
+
}
|
158
|
+
]
|
159
|
+
}
|
160
|
+
})
|
161
|
+
resp
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
165
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'savon'
|
2
|
+
|
3
|
+
module BraspagRails
|
4
|
+
module Transacao
|
5
|
+
class Debito
|
6
|
+
|
7
|
+
extend ::Savon::Model
|
8
|
+
|
9
|
+
client wsdl: BraspagRails.config['wsdl_transacao']
|
10
|
+
global :open_timeout, 30
|
11
|
+
global :convert_request_keys_to, :none
|
12
|
+
operations :authorize_transaction
|
13
|
+
|
14
|
+
# value = valor da autorização (em centavos)
|
15
|
+
# holder = Nome do cartão
|
16
|
+
# number = Numero do cartão
|
17
|
+
# code = Codigo de segurança
|
18
|
+
# date = Data de validate do cartão
|
19
|
+
# method = Meio de Pagamento (BraspagRails::MEIOS_DE_PAGAMENTO)
|
20
|
+
def self.autorizar(value,holder,number,code,date,method)
|
21
|
+
resp = authorize_transaction(message: {
|
22
|
+
request: {
|
23
|
+
RequestId: SecureRandom.uuid,
|
24
|
+
Version: "1.0",
|
25
|
+
OrderData: {
|
26
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
27
|
+
OrderId: Random.rand(10000),
|
28
|
+
},
|
29
|
+
PaymentDataCollection: [
|
30
|
+
PaymentDataRequest: {
|
31
|
+
:'@xsi:type' => 'tns:DebitCardDataRequest',
|
32
|
+
PaymentMethod: method,
|
33
|
+
Amount: value,
|
34
|
+
Currency: BraspagRails.config['currency'],
|
35
|
+
Country: BraspagRails.config['country'],
|
36
|
+
CardHolder: holder,
|
37
|
+
CardNumber: number,
|
38
|
+
CardSecurityCode: code,
|
39
|
+
CardExpirationDate: date
|
40
|
+
}
|
41
|
+
],
|
42
|
+
CustomerData: {
|
43
|
+
CustomerName: BraspagRails.config['customer_name']
|
44
|
+
}
|
45
|
+
}
|
46
|
+
})
|
47
|
+
resp
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,203 @@
|
|
1
|
+
require 'savon'
|
2
|
+
|
3
|
+
module BraspagRails
|
4
|
+
module Transacao
|
5
|
+
class Fraude
|
6
|
+
|
7
|
+
extend ::Savon::Model
|
8
|
+
|
9
|
+
client wsdl: BraspagRails.config['wsdl_analise_fraude']
|
10
|
+
global :open_timeout, 30
|
11
|
+
global :convert_request_keys_to, :none
|
12
|
+
operations :fraud_analysis, :update_status, :fraud_analysis_transaction_details
|
13
|
+
|
14
|
+
# Comprador
|
15
|
+
# cpf = CPF do comprador sem pontuacao com 11 caracteres
|
16
|
+
# id = Id do comprador
|
17
|
+
# email = Email do comprador
|
18
|
+
# primeiro_nome = Primeiro nome do comprador
|
19
|
+
# ultimo_nome = Primeiro nome do comprador
|
20
|
+
# Endereco
|
21
|
+
# cidade = Cidade do comprador
|
22
|
+
# pais = Pais do comprador
|
23
|
+
# cep = CEP do comprador
|
24
|
+
# estado = Sigla do Estado do comprador com 2 caracteres
|
25
|
+
# rua = Rua do comprador
|
26
|
+
# Cartao
|
27
|
+
# primeiro_nome = Primeiro nome no cartão
|
28
|
+
# ultimo_nome = Primeiro nome no cartão
|
29
|
+
# nome = Nome no cartão
|
30
|
+
# numero = Número do cartão
|
31
|
+
# codigo = Codigo de segurança
|
32
|
+
# bandeira = Bandeira do cartão (Visa Mastercard AmericanExpress DInersClub VisaElectron Elo)
|
33
|
+
# mes_expiracao = Mes da validate do cartão
|
34
|
+
# ano_expiracao = Ano da validate do cartão
|
35
|
+
# Browser
|
36
|
+
# host_name = Nome do host onde o comprador estava antes de entrar no site da loja.
|
37
|
+
# cookies = O browser do cliente aceita cookies. (true ou false)
|
38
|
+
# nome = Nome do browser utilizado pelo comprador
|
39
|
+
# ip = Endereço IP do comprador
|
40
|
+
# Produtos - Array de produtos
|
41
|
+
# descricao = Nome do produto
|
42
|
+
# sku = Código comerciante identificador do produto.
|
43
|
+
# codigo = Codigo do Produto
|
44
|
+
# quantidade = Quantidade do produto vendida
|
45
|
+
# valor_unitario = Valor Unitário do produto (em centavos)
|
46
|
+
# Avaliações (Para análise de risco)
|
47
|
+
# endereco = Em caso de divergência entre endereços de cobrança e entrega. (Yes - Low, No High, off)
|
48
|
+
# host = Importância do e-mail e endereço IP na análise de risco. (Low Normal High off)
|
49
|
+
# nonsensical = Importância da verificação feita sobre o pedido do comprador. (Low Normal High off)
|
50
|
+
# obscenidades = Importância da verificação sobre obscenidades do pedido do comprador. (Low Normal High off)
|
51
|
+
# chargebacks = O produto tem um histórico de chargebacks. (Low Normal High)
|
52
|
+
# telefone = Importância nos testes realizados com números de telefone. (Low Normal High off)
|
53
|
+
# horario = Importância no horário do dia em que foi feita a compra. (Low Normal High off)
|
54
|
+
# tempo = Importância no número de compras realizadas pelo cliente nos últimos 15 minutos.(Low Normal High off)
|
55
|
+
# Pedido
|
56
|
+
# id = Número do pedido
|
57
|
+
# sessionid = Identificador utilizado para cruzar informações obtidas pelo Browser do internauta com os dados enviados para análise. Este mesmo valor deve ser passado na variável SESSIONID do script do DeviceFingerPrint.
|
58
|
+
# valor_total = Valor Total da compra (em centavos)
|
59
|
+
# metodo = Método de pagamento (BraspagRails::MEIOS_DE_PAGAMENTO)
|
60
|
+
# numero_pagamento = Número de pagamentos
|
61
|
+
# plano_pagamento = Plano de Pagamento (BraspagRails::PLANOS_DE_PAGAMENTO)
|
62
|
+
# taxa_servico = Taxa do Serviço (em centavos)
|
63
|
+
|
64
|
+
|
65
|
+
def self.analisar(comprador, endereco, browser, cartao, produtos, pedido)
|
66
|
+
itens_data = []
|
67
|
+
produtos.each do |produto|
|
68
|
+
itens_data << {
|
69
|
+
GiftCategory: produto[:avaliacoes][:endereco],
|
70
|
+
HostHedge: produto[:avaliacoes][:host],
|
71
|
+
NonSensicalHedge: produto[:avaliacoes][:nonsensical],
|
72
|
+
ObscenitiesHedge: produto[:avaliacoes][:obscenidades],
|
73
|
+
PhoneHedge: produto[:avaliacoes][:telefone],
|
74
|
+
ProductData: {
|
75
|
+
Code: "Default",
|
76
|
+
Name: produto[:descricao],
|
77
|
+
Risk: produto[:avaliacoes][:chargebacks],
|
78
|
+
Sku: produto[:codigo],
|
79
|
+
Quantity: produto[:quantidade],
|
80
|
+
UnitPrice: produto[:valor_unitario]
|
81
|
+
},
|
82
|
+
TimeHedge: produto[:avaliacoes][:horario],
|
83
|
+
VelocityHedge: produto[:avaliacoes][:tempo]
|
84
|
+
}
|
85
|
+
end
|
86
|
+
resp = fraud_analysis(message:{
|
87
|
+
request: {
|
88
|
+
RequestId: SecureRandom.uuid,
|
89
|
+
Version: "1.0",
|
90
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
91
|
+
AntiFraudSequenceType: "AnalyseAndAuthorizeOnSuccess",
|
92
|
+
DocumentData: {
|
93
|
+
Cpf: comprador[:cpf]
|
94
|
+
},
|
95
|
+
AntiFraudRequest: {
|
96
|
+
BillToData: {
|
97
|
+
City: endereco[:cidade],
|
98
|
+
Country: endereco[:pais],
|
99
|
+
CustomerId: comprador[:id],
|
100
|
+
# DateOfBirth: Data de Nascimento do comprador
|
101
|
+
Email: comprador[:email],
|
102
|
+
HostName: browser[:host_name],
|
103
|
+
HttpBrowserCookiesAccepted: browser[:cookies],
|
104
|
+
HttpBrowserType: browser[:nome],
|
105
|
+
IpAddress: browser[:ip],
|
106
|
+
FirstName: cartao[:primeiro_nome],
|
107
|
+
LastName: cartao[:ultimo_nome],
|
108
|
+
# PhoneNumber:
|
109
|
+
PostalCode: endereco[:cep],
|
110
|
+
State: endereco[:estado],
|
111
|
+
Street1: endereco[:rua]
|
112
|
+
},
|
113
|
+
# BusinessRulesScoreThreshold: Nível de risco aceitavel para ordenação de cada produto.
|
114
|
+
CardData: {
|
115
|
+
AccountNumber: cartao[:numero],
|
116
|
+
Card: cartao[:bandeira],
|
117
|
+
ExpirationMonth: cartao[:mes_expiracao],
|
118
|
+
ExpirationYear: cartao[:ano_expiracao],
|
119
|
+
},
|
120
|
+
ItemDataCollection: {
|
121
|
+
ItemData: itens_data
|
122
|
+
},
|
123
|
+
MerchantReferenceCode: pedido[:id],
|
124
|
+
DeviceFingerprintID: pedido[:sessionid],
|
125
|
+
PurchaseTotalsData: {
|
126
|
+
Currency: BraspagRails.config['currency'],
|
127
|
+
GrandTotalAmount: pedido[:valor_total],
|
128
|
+
},
|
129
|
+
ShipToData: {
|
130
|
+
City: endereco[:cidade],
|
131
|
+
Country: endereco[:pais],
|
132
|
+
FirstName: comprador[:primeiro_nome],
|
133
|
+
LastName: comprador[:ultimo_nome],
|
134
|
+
# PhoneNumber:
|
135
|
+
PostalCode: endereco[:cep],
|
136
|
+
ShippingMethod: "Other",
|
137
|
+
State: endereco[:estado],
|
138
|
+
Street1: endereco[:rua]
|
139
|
+
},
|
140
|
+
},
|
141
|
+
AuthorizeTransactionRequest: {
|
142
|
+
RequestId: SecureRandom.uuid,
|
143
|
+
Version: "1.0",
|
144
|
+
OrderData: {
|
145
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
146
|
+
OrderId: Random.rand(10000),
|
147
|
+
},
|
148
|
+
PaymentDataCollection: [
|
149
|
+
PaymentDataRequest: {
|
150
|
+
:'@xsi:type' => 'ins0:CreditCardDataRequest',
|
151
|
+
PaymentMethod: pedido[:metodo],
|
152
|
+
Amount: pedido[:valor_total],
|
153
|
+
Currency: BraspagRails.config['currency'],
|
154
|
+
Country: BraspagRails.config['country'],
|
155
|
+
NumberOfPayments: pedido[:numero_pagamento],
|
156
|
+
PaymentPlan: pedido[:plano_pagamento],
|
157
|
+
TransactionType: 1,
|
158
|
+
CardHolder: cartao[:nome],
|
159
|
+
CardNumber: cartao[:numero],
|
160
|
+
CardSecurityCode: cartao[:codigo],
|
161
|
+
CardExpirationDate: "#{cartao[:mes_expiracao]}/#{cartao[:ano_expiracao]}",
|
162
|
+
ServiceTaxAmount: pedido[:taxa_servico]
|
163
|
+
}
|
164
|
+
],
|
165
|
+
CustomerData: {
|
166
|
+
CustomerName: BraspagRails.config['customer_name']
|
167
|
+
}
|
168
|
+
}
|
169
|
+
}
|
170
|
+
})
|
171
|
+
resp
|
172
|
+
end
|
173
|
+
|
174
|
+
|
175
|
+
# antiFraudTransactionId = Id da transação de antifraude a ser localizada.
|
176
|
+
# status = Novo Status (ACCEPT ou REJECT)
|
177
|
+
# comentario = Comentário associado a mudança de status.
|
178
|
+
def self.alterar_status(antiFraudTransactionId, status, comentario = "")
|
179
|
+
resp = update_status(message:{
|
180
|
+
request: {
|
181
|
+
RequestId: SecureRandom.uuid,
|
182
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
183
|
+
AntiFraudTransactionId: antiFraudTransactionId,
|
184
|
+
NewStatus: status,
|
185
|
+
Comment: comentario
|
186
|
+
}
|
187
|
+
})
|
188
|
+
resp
|
189
|
+
end
|
190
|
+
|
191
|
+
def self.consultar(antiFraudTransactionId)
|
192
|
+
resp = fraud_analysis_transaction_details(message:{
|
193
|
+
request: {
|
194
|
+
RequestId: SecureRandom.uuid,
|
195
|
+
MerchantId: BraspagRails.config['merchant_id'],
|
196
|
+
AntiFraudTransactionId: antiFraudTransactionId
|
197
|
+
}
|
198
|
+
})
|
199
|
+
resp
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module BraspagRails
|
2
|
+
class Util
|
3
|
+
|
4
|
+
def self.autorizacao_com_sucesso?(code)
|
5
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Operação realizada com sucesso"
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.autorizacao_negada?(code)
|
9
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Não autorizada" or
|
10
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Cartão expirado" or
|
11
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Problemas com o cartão de crédito" or
|
12
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Cartão cancelado" or
|
13
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Cartão bloqueado"
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.autorizacao_timeout?(code)
|
17
|
+
BraspagRails::CODIGOS_RETORNO_AUTORIZACAO[code.to_i] == "Timed Out"
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.captura_com_sucesso?(code)
|
21
|
+
BraspagRails::STATUS_RETORNO_CAPTURA[code.to_i] == "Sucesso"
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.captura_negada?(code)
|
25
|
+
BraspagRails::STATUS_RETORNO_CAPTURA[code.to_i] == "Negada"
|
26
|
+
end
|
27
|
+
|
28
|
+
def self.consulta_autorizacao_com_sucesso?(code)
|
29
|
+
BraspagRails::STATUS_TRANSACAO[code.to_i] == "A transação foi autorizada"
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.consulta_autorizacao_rejeitada?(code)
|
33
|
+
BraspagRails::STATUS_TRANSACAO[code.to_i] == "A transação não foi autorizada"
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.consulta_captura_com_sucesso?(code)
|
37
|
+
BraspagRails::STATUS_TRANSACAO[code.to_i] == "A transação foi capturada"
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.consulta_captura_rejeitada?(code)
|
41
|
+
BraspagRails::STATUS_TRANSACAO[code.to_i] == "A transação não foi autorizada"
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|