class Pin::Refund

Attributes

amount[RW]
charge[RW]
created_at[RW]
currency[RW]
error_message[RW]
success[RW]
token[RW]

Public Class Methods

all(charge_or_charge_id) click to toggle source
Calls superclass method Pin::Base::all
# File lib/pin-payments/refund.rb, line 17
def all(charge_or_charge_id)
  super(path: path_for(charge_or_charge_id))
end
create(charge_or_charge_id, amount = nil) click to toggle source

provide a charge object, or charge ID, and it will be refunded optionally provide an amount in cents, greater than equal to 100, to refund defaults to the full amount of the charge

Calls superclass method Pin::Base::create
# File lib/pin-payments/refund.rb, line 11
def create(charge_or_charge_id, amount = nil)
  raise "`amount` must be greater than or equal to 100" if !amount.nil? && amount < 100

  super({amount: amount}, path_for(charge_or_charge_id))
end

Protected Class Methods

api_path() click to toggle source
# File lib/pin-payments/refund.rb, line 22
def api_path
  "/charges/%s/refunds"
end

Private Class Methods

parse_charge_id(charge_or_charge_id) click to toggle source
# File lib/pin-payments/refund.rb, line 31
def parse_charge_id(charge_or_charge_id)
  if charge_or_charge_id.respond_to?(:token) # charge
    charge_or_charge_id.token
  else # already an ID
    charge_or_charge_id
  end
end
path_for(charge_or_charge_id) click to toggle source
# File lib/pin-payments/refund.rb, line 27
def path_for(charge_or_charge_id)
  api_path % parse_charge_id(charge_or_charge_id)
end