braspag_rails 0.0.1
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.
- 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
|