class Bancard::Gateway
Attributes
private_key[RW]
public_key[RW]
Public Class Methods
new(auth_params = {})
click to toggle source
# File lib/bancard/gateway.rb, line 5 def initialize(auth_params = {}) @public_key = auth_params.fetch(:public_key) @private_key = auth_params.fetch(:private_key) end
Public Instance Methods
rollback(params = {})
click to toggle source
# File lib/bancard/gateway.rb, line 15 def rollback(params = {}) rollback = build_single_buy_rollback(params) submit_single_buy_rollback(rollback) end
single_buy(params = {})
click to toggle source
# File lib/bancard/gateway.rb, line 10 def single_buy(params = {}) init = build_single_buy_init(params) submit_single_buy_init(init) end
Private Instance Methods
build_single_buy_init(params = {})
click to toggle source
# File lib/bancard/gateway.rb, line 22 def build_single_buy_init(params = {}) Bancard::SingleBuyInit.new(merge_auth_params(params)) end
build_single_buy_rollback(params = {})
click to toggle source
# File lib/bancard/gateway.rb, line 26 def build_single_buy_rollback(params = {}) Bancard::SingleBuyRollback.new(merge_auth_params(params)) end
merge_auth_params(hash)
click to toggle source
# File lib/bancard/gateway.rb, line 42 def merge_auth_params(hash) hash.merge(public_key: public_key, private_key: private_key) end
submit_single_buy_init(init)
click to toggle source
# File lib/bancard/gateway.rb, line 30 def submit_single_buy_init(init) url = Bancard.vpos_url(Bancard::SingleBuyInit::ENDPOINT) response = Typhoeus.post(url, body: init.request_params.to_json) Bancard::SingleBuyInitResponse.new response end
submit_single_buy_rollback(rollback)
click to toggle source
# File lib/bancard/gateway.rb, line 36 def submit_single_buy_rollback(rollback) url = Bancard.vpos_url(Bancard::SingleBuyRollback::ENDPOINT) response = Typhoeus.post(url, body: rollback.request_params.to_json) Bancard::SingleBuyRollbackResponse.new response end