| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- require 'payment/errors'
- require_relative '../../../paratika/lib/paratika'
- class Payment::ParatikaGateway
- include ::Paratika
- ERROR_MAP = Paratika::ERROR_MAP
- include Payment::Errors
- def self.active?
- Paratika.config.active
- end
- def self.connection
- request = yield
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.charge_from_card(payment, customer, card, pre_auth, saved_card)
- klass = pre_auth ? Paratika::PreAuth : Paratika::Sale
- card = saved_card ? { token: card } : card
- request = klass.new(payment, customer, card)
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.cancel_transaction(payment)
- request = Paratika::Void.new(payment)
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.refund_money(payment)
- request = Paratika::Refund.new(payment)
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.query_saved_cards(customer)
- request = Paratika::QueryCard.new(customer[:id])
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.delete_card(token)
- request = Paratika::EWalletDeleteCard.new(token)
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.currency_exchange(from, to, amount)
- request = Paratika::CurrencyExchange.new(from, to, amount)
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- def self.query_bin_number(bin_number)
- request = Paratika::QueryBin.new(bin_number)
- response = request.send
- [request.data, response.data]
- rescue => e
- Payment.debug_message(request, response, e)
- end
- end
|