Class: Cielo::WS15
- Inherits:
-
Object
- Object
- Cielo::WS15
- Defined in:
- lib/cielo/ws15.rb
Overview
Integração com o Webservice 1.5; esse participante faz um papel de facilitador para a construção de todos os participantes importantes para a integração. Através de factory methods, é possível criar as instâncias pré-configuradas com os parâmetros mínimos necessários para a execução das operações.
Constant Summary collapse
- PRODUCTION =
Ambiente de produção da Cielo
"https://ecommerce.cielo.com.br/servicos/ecommwsec.do"- TEST =
Ambiente de testes da Cielo
"https://qasecommerce.cielo.com.br/servicos/ecommwsec.do"- NAMESPACE =
Namespace dos XML de requisição e resposta
"http://ecommerce.cbmp.com.br"- VERSION =
Versão do XML utilizado na integração
"1.3.0"
Instance Attribute Summary collapse
-
#endpoint ⇒ Object
writeonly
Sets the attribute endpoint.
-
#merchant ⇒ Object
writeonly
Sets the attribute merchant.
Instance Method Summary collapse
-
#authorization_request(transaction) ⇒ Transaction
Envia uma requisicao-autorizacao-tid para a Cielo.
-
#cancellation_request(transaction, total = nil) ⇒ Transaction
Envia uma requisicao-cancelamento para a Cielo.
-
#capture_request(transaction, total = nil) ⇒ Transaction
Envia uma requisicao-captura para a Cielo.
-
#holder(token_or_number, expiration_year = nil, expiration_month = nil, indicator = nil, cvv = Holder::CVV_NOT_INFORMED) ⇒ Holder
Cria uma instância de Holder, que representa o portador de um cartão, definindo os dados do cartão ou apenas um token previamente gerado.
-
#initialize(affiliation_id, affiliation_key, endpoint = WS15::PRODUCTION) ⇒ WS15
constructor
Inicializa uma nova instância de WS15 informando as credenciais e o ambiente.
-
#order(number, total, currency = 986, date_time = nil) ⇒ Order
Cria uma instância de Order, que representa um pedido, informando o número valor, moeda e data de criação.
-
#payment_method(issuer, product = PaymentMethod::CREDITO_A_VISTA, installments = 1) ⇒ PaymentMethod
Cria uma instância de PaymentMethod, que representa a forma de pagamento, informando o banco emissor do cartão, produto Cielo e número de parcelas.
-
#token_request(holder) ⇒ Token
Envia uma requisicao-token para a Cielo.
-
#transaction(holder, order, payment_method, return_url, authorize, capture: true) ⇒ Transaction
Cria uma instância de Transaction, que representa uma transação, informando o portador do cartão, pedido, forma de pagamento, URL de retorno, método de autorização e forma de captura.
-
#transaction_request(transaction) ⇒ Transaction
Envia uma requisicao-transacao para a Cielo.
Constructor Details
#initialize(affiliation_id, affiliation_key, endpoint = WS15::PRODUCTION) ⇒ WS15
Inicializa uma nova instância de WS15 informando as credenciais e o ambiente
42 43 44 45 46 47 48 49 |
# File 'lib/cielo/ws15.rb', line 42 def initialize( affiliation_id, affiliation_key, endpoint = WS15::PRODUCTION) @merchant = Merchant.new(affiliation_id, affiliation_key) @endpoint = endpoint end |
Instance Attribute Details
#endpoint=(value) ⇒ Object
Sets the attribute endpoint
34 35 36 |
# File 'lib/cielo/ws15.rb', line 34 def endpoint=(value) @endpoint = value end |
#merchant=(value) ⇒ Object
Sets the attribute merchant
34 35 36 |
# File 'lib/cielo/ws15.rb', line 34 def merchant=(value) @merchant = value end |
Instance Method Details
#authorization_request(transaction) ⇒ Transaction
Envia uma requisicao-autorizacao-tid para a Cielo
143 144 145 146 147 148 149 |
# File 'lib/cielo/ws15.rb', line 143 def (transaction) = WS15Message::AuthorizationMessage.new response = send_request(.serialize(transaction)) return transaction end |
#cancellation_request(transaction, total = nil) ⇒ Transaction
Envia uma requisicao-cancelamento para a Cielo
157 158 159 160 161 162 163 |
# File 'lib/cielo/ws15.rb', line 157 def cancellation_request(transaction, total = nil) = WS15Message::CancellationMessage.new response = send_request(.serialize(transaction, total)) return .unserialize(response, transaction) end |
#capture_request(transaction, total = nil) ⇒ Transaction
Envia uma requisicao-captura para a Cielo
171 172 173 174 175 176 177 |
# File 'lib/cielo/ws15.rb', line 171 def capture_request(transaction, total = nil) = WS15Message::CaptureMessage.new response = send_request(.serialize(transaction, total)) return .unserialize(response, transaction) end |
#holder(token_or_number, expiration_year = nil, expiration_month = nil, indicator = nil, cvv = Holder::CVV_NOT_INFORMED) ⇒ Holder
Cria uma instância de Holder, que representa o portador de um cartão, definindo os dados do cartão ou apenas um token previamente gerado
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/cielo/ws15.rb', line 61 def holder( token_or_number, expiration_year = nil, expiration_month = nil, indicator = nil, cvv = Holder::CVV_NOT_INFORMED) if expiration_year == nil return Holder.new(token_or_number) end return Holder.new( token_or_number, expiration_year, expiration_month, indicator, cvv ) end |
#order(number, total, currency = 986, date_time = nil) ⇒ Order
Cria uma instância de Order, que representa um pedido, informando o número valor, moeda e data de criação.
90 91 92 93 94 95 96 97 |
# File 'lib/cielo/ws15.rb', line 90 def order( number, total, currency = 986, date_time = nil) return Order.new(number, total, currency, date_time) end |
#payment_method(issuer, product = PaymentMethod::CREDITO_A_VISTA, installments = 1) ⇒ PaymentMethod
Cria uma instância de PaymentMethod, que representa a forma de pagamento, informando o banco emissor do cartão, produto Cielo e número de parcelas.
107 108 109 110 111 112 113 |
# File 'lib/cielo/ws15.rb', line 107 def payment_method( issuer, product = PaymentMethod::CREDITO_A_VISTA, installments = 1) return PaymentMethod.new(issuer, product, installments) end |
#token_request(holder) ⇒ Token
Envia uma requisicao-token para a Cielo
184 185 186 187 188 189 190 |
# File 'lib/cielo/ws15.rb', line 184 def token_request(holder) = WS15Message::TokenMessage.new response = send_request(.serialize(@merchant, holder)) return .unserialize(response) end |
#transaction(holder, order, payment_method, return_url, authorize, capture: true) ⇒ Transaction
Cria uma instância de Transaction, que representa uma transação, informando o portador do cartão, pedido, forma de pagamento, URL de retorno, método de autorização e forma de captura.
127 128 129 130 131 132 133 134 135 136 |
# File 'lib/cielo/ws15.rb', line 127 def transaction( holder, order, payment_method, return_url, , capture: true) return Transaction.new(@merchant, holder, order, payment_method, return_url, , capture:capture) end |
#transaction_request(transaction) ⇒ Transaction
Envia uma requisicao-transacao para a Cielo
197 198 199 200 201 202 203 |
# File 'lib/cielo/ws15.rb', line 197 def transaction_request(transaction) = WS15Message::TransactionMessage.new response = send_request(.serialize(transaction)) return .unserialize(response, transaction) end |