module Affirm::Charge
Public Instance Methods
capture(charge_id)
click to toggle source
# File lib/affirm/charge.rb, line 13 def capture(charge_id) respond Client.request(:post, "charges/#{charge_id}/capture") end
find(charge_id)
click to toggle source
# File lib/affirm/charge.rb, line 9 def find(charge_id) respond Client.request(:get, "charges/#{charge_id}") end
refund(charge_id, amount:)
click to toggle source
# File lib/affirm/charge.rb, line 21 def refund(charge_id, amount:) respond Client.request(:post, "charges/#{charge_id}/refund", amount: amount) end
update(charge_id, **updates)
click to toggle source
# File lib/affirm/charge.rb, line 25 def update(charge_id, **updates) respond Client.request(:post, "charges/#{charge_id}/update", updates) end
void(charge_id)
click to toggle source
# File lib/affirm/charge.rb, line 17 def void(charge_id) respond Client.request(:post, "charges/#{charge_id}/void") end
Private Instance Methods
respond(response)
click to toggle source
# File lib/affirm/charge.rb, line 31 def respond(response) return FailureResult.new(response) unless response.success? type = response.body["type"] klass = case type when *%w(capture void refund update) Object.const_get("Affirm::Responses::#{type.capitalize}") else Affirm::Responses::Auth end SuccessResult.new(klass.new(response.body)) end