Class: Braspag::CreditCard
Constant Summary
collapse
- MAPPING =
{
:merchant_id => "merchantId",
:order => 'order',
:order_id => "orderId",
:customer_name => "customerName",
:amount => "amount",
:payment_method => "paymentMethod",
:holder => "holder",
:card_number => "cardNumber",
:expiration => "expiration",
:security_code => "securityCode",
:number_payments => "numberPayments",
:type => "typePayment"
}
- AUTHORIZE_URI =
"/webservices/pagador/Pagador.asmx/Authorize"
- CAPTURE_URI =
"/webservices/pagador/Pagador.asmx/Capture"
- PARTIAL_CAPTURE_URI =
"/webservices/pagador/Pagador.asmx/CapturePartial"
- CANCELLATION_URI =
"/webservices/pagador/Pagador.asmx/VoidTransaction"
- PRODUCTION_INFO_URI =
"/webservices/pagador/pedido.asmx/GetDadosCartao"
- HOMOLOGATION_INFO_URI =
"/pagador/webservice/pedido.asmx/GetDadosCartao"
- STATUS_URI =
"/webservices/pagador/pedido.asmx/GetDadosPedido"
PaymentMethod::PAYMENT_METHODS
Class Method Summary
collapse
normalize_params, payment_method_from_id, valid_order_id?
Class Method Details
.authorize(params = {}) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/baby-braspag/credit_card.rb', line 26
def self.authorize(params = {})
connection = Braspag::Connection.instance
params[:merchant_id] = connection.merchant_id
check_params(params)
data = {}
MAPPING.each do |k, v|
case k
when :payment_method
data[v] = Braspag::Connection.instance.homologation? ? PAYMENT_METHODS[:braspag] : PAYMENT_METHODS[params[:payment_method]]
when :amount
data[v] = Utils.convert_decimal_to_string(params[:amount])
else
data[v] = params[k] || ""
end
end
response = Braspag::Poster.new(authorize_url).do_post(:authorize, data)
Utils::convert_to_map(response.body, {
:amount => nil,
:number => "authorisationNumber",
:message => 'message',
:return_code => 'returnCode',
:status => 'status',
:transaction_id => "transactionId"
})
end
|
.capture(order_id) ⇒ Object
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'lib/baby-braspag/credit_card.rb', line 56
def self.capture(order_id)
connection = Braspag::Connection.instance
merchant_id = connection.merchant_id
raise InvalidOrderId unless self.valid_order_id?(order_id)
data = {
MAPPING[:order_id] => order_id,
MAPPING[:merchant_id] => merchant_id
}
response = Braspag::Poster.new(capture_url).do_post(:capture, data)
Utils::convert_to_map(response.body, {
:amount => nil,
:number => "authorisationNumber",
:message => 'message',
:return_code => 'returnCode',
:status => 'status',
:transaction_id => "transactionId"
})
end
|
.get(just_click_key) ⇒ Object
DEPRECATED: Please use ProtectedCreditCard.get
instead.
177
178
179
180
|
# File 'lib/baby-braspag/credit_card.rb', line 177
def self.get(just_click_key)
warn "[DEPRECATION] `CreditCard.get` is deprecated. Please use `ProtectedCreditCard.get` instead."
ProtectedCreditCard.get(just_click_key)
end
|
.info(order_id) ⇒ Object
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
# File 'lib/baby-braspag/credit_card.rb', line 126
def self.info(order_id)
connection = Braspag::Connection.instance
raise InvalidOrderId unless self.valid_order_id?(order_id)
data = {:loja => connection.merchant_id, :numeroPedido => order_id.to_s}
response = Braspag::Poster.new(info_url).do_post(:info_credit_card, data)
response = Utils::convert_to_map(response.body, {
:checking_number => "NumeroComprovante",
:certified => "Autenticada",
:autorization_number => "NumeroAutorizacao",
:card_number => "NumeroCartao",
:transaction_number => "NumeroTransacao"
})
raise UnknownError if response[:checking_number].nil?
response
end
|
.just_click_shop(params = {}) ⇒ Object
DEPRECATED: Please use ProtectedCreditCard.just_click_shop
instead.
183
184
185
186
|
# File 'lib/baby-braspag/credit_card.rb', line 183
def self.just_click_shop(params = {})
warn "[DEPRECATION] `CreditCard.just_click_shop` is deprecated. Please use `ProtectedCreditCard.just_click_shop` instead."
ProtectedCreditCard.just_click_shop(params)
end
|
.partial_capture(order_id, amount) ⇒ Object
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/baby-braspag/credit_card.rb', line 79
def self.partial_capture(order_id, amount)
connection = Braspag::Connection.instance
merchant_id = connection.merchant_id
raise InvalidOrderId unless self.valid_order_id?(order_id)
data = {
MAPPING[:order_id] => order_id,
MAPPING[:merchant_id] => merchant_id,
"captureAmount" => Utils.convert_decimal_to_string(amount)
}
response = Braspag::Poster.new(partial_capture_url).do_post(:partial_capture, data)
Utils::convert_to_map(response.body, {
:amount => nil,
:number => "authorisationNumber",
:message => 'message',
:return_code => 'returnCode',
:status => 'status',
:transaction_id => "transactionId"
})
end
|
.save(params) ⇒ Object
DEPRECATED: Please use ProtectedCreditCard.save
instead.
171
172
173
174
|
# File 'lib/baby-braspag/credit_card.rb', line 171
def self.save(params)
warn "[DEPRECATION] `CreditCard.save` is deprecated. Please use `ProtectedCreditCard.save` instead."
ProtectedCreditCard.save(params)
end
|
.status(order_id) ⇒ Object
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
# File 'lib/baby-braspag/credit_card.rb', line 146
def self.status(order_id)
connection = Braspag::Connection.instance
raise InvalidOrderId unless self.valid_order_id?(order_id)
data = { :numeroPedido => order_id, :loja => connection.merchant_id }
response = Braspag::Poster.new(status_url).do_post(:order_status, data)
Utils::convert_to_map(response.body, {
:authorization_code => "CodigoAutorizacao",
:payment_code => "CodigoPagamento",
:payment_method => "FormaPagamento",
:installments => "NumeroParcelas",
:status => "Status",
:value => "Valor",
:payment_date => "DataPagamento",
:order_date => "DataPedido",
:transaction_id => "TransId",
:error_code => "CodigoErro",
:error_message => "MensagemErro"
})
end
|
.void(order_id) ⇒ Object
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
# File 'lib/baby-braspag/credit_card.rb', line 103
def self.void(order_id)
connection = Braspag::Connection.instance
merchant_id = connection.merchant_id
raise InvalidOrderId unless self.valid_order_id?(order_id)
data = {
MAPPING[:order] => order_id,
MAPPING[:merchant_id] => merchant_id
}
response = Braspag::Poster.new(cancellation_url).do_post(:void, data)
Utils::convert_to_map(response.body, {
:amount => nil,
:number => "authorisationNumber",
:message => 'message',
:return_code => 'returnCode',
:status => 'status',
:transaction_id => "transactionId"
})
end
|