class Gestpay::Gateway
Constants
- URL
Attributes
client[RW]
Public Class Methods
new()
click to toggle source
# File lib/gestpay/gateway.rb, line 16 def initialize # SOAP Client operations: # => [:call_refund_s2_s, :call_read_trx_s2_s, :call_pagam_s2_s, :call_delete_s2_s, :call_settle_s2_s, :call_verifycard_s2_s, :call_check_carta_s2_s, :call_renounce, :call_request_token_s2_s, :call_delete_token_s2_s] savon_options = {:wsdl => URL[Gestpay.config.environment]} if Gestpay.config.proxy savon_options.merge!({ :proxy=> URI.parse(Gestpay.config.proxy)}) end @client = Savon.client(savon_options) end
Public Instance Methods
config()
click to toggle source
# File lib/gestpay/gateway.rb, line 11 def config Gestpay.config end
delete(data)
click to toggle source
# File lib/gestpay/gateway.rb, line 67 def delete(data) data[:Bank_transaction_id] ||= data.delete(:bank_transaction_id) data[:Shop_transaction_id] ||= data.delete(:shop_transaction_id) data = Hash[data.select { |k, v| v.present? }] response = @client.call(:call_delete_s2_s, soap_options(data, [:shop_login])) response_content = response.body[:call_delete_s2_s_response][:call_delete_s2_s_result][:gest_pay_s2_s] Result::Delete.new(response_content) end
payment(data)
click to toggle source
# File lib/gestpay/gateway.rb, line 38 def payment(data) # Custom info must be enabled on Gestpay backoffice interface, by adding new parameters data[:custom_info] = gestpay_encode(data[:custom_info]) if data[:custom_info] response = @client.call(:call_pagam_s2_s, soap_options(data)) response_content = response.body[:call_pagam_s2_s_response][:call_pagam_s2_s_result][:gest_pay_s2_s] Result::Payment.new(response_content) end
request_token(data, verify=true)
click to toggle source
# File lib/gestpay/gateway.rb, line 46 def request_token(data, verify=true) opts = { :request_token => 'MASKEDPAN', :with_auth => verify ? 'Y' : 'N' } response = @client.call(:call_request_token_s2_s, soap_options(data.merge(opts))) response_content = response.body[:call_request_token_s2_s_response][:call_request_token_s2_s_result][:gest_pay_s2_s] Result::TokenRequest.new(response_content) end
settle(data)
click to toggle source
# File lib/gestpay/gateway.rb, line 56 def settle(data) data[:bank_trans_ID] ||= data.delete(:bank_trans_id) data[:shop_trans_ID] ||= data.delete(:shop_trans_id) data = Hash[data.select { |k, v| v.present? }] response = @client.call(:call_settle_s2_s, soap_options(data, [:shop_login, :uic_code])) response_content = response.body[:call_settle_s2_s_response][:call_settle_s2_s_result][:gest_pay_s2_s] Result::Settle.new(response_content) end
soap_options(data, options = [:shop_login, :uic_code, :language_id])
click to toggle source
# File lib/gestpay/gateway.rb, line 26 def soap_options(data, options = [:shop_login, :uic_code, :language_id]) configuration_options = { :shop_login => config.account, :uic_code => config.currency_code, :language_id => config.language_code } { :message => configuration_options.slice(*options).merge(data) } end