class SpikePay::Charge

Public Instance Methods

all(params = {}) click to toggle source

List charges filtered by params

@param params [ChargeListRequest|Hash] Parameters to API call @return [ChargeResponseList]

# File lib/spike_pay/charge.rb, line 39
def all(params = {})
  req = SpikePay::ChargeListRequest.create(params)
  raw_response = @client.request(:get, 'charges', req)
  SpikePay::ChargeResponseList.new(raw_response)
end
create(params = {}) click to toggle source

Create a charge object with given parameters. In live mode, this issues a transaction.

@param params [ChargeRequestCreate|Hash] Parameters to API call @return [ChargeResponse]

# File lib/spike_pay/charge.rb, line 8
def create(params = {})
  req = SpikePay::ChargeRequestCreate.create(params)
  raw_response = @client.request(:post, 'charges', req)
  SpikePay::ChargeResponse.new(raw_response)
end
refund(params = {}) click to toggle source

Refund a paid charge specified by charge id. Optional argument amount is to refund partially.

@param params [ChargeRequestWithAmount|Hash] Parameters to API call @return [ChargeResponse]

# File lib/spike_pay/charge.rb, line 29
def refund(params = {})
  req = SpikePay::ChargeRequestWithAmount.create(params)
  raw_response = @client.request(:post, 'charges/:id/refund', req)
  SpikePay::ChargeResponse.new(raw_response)
end
retrieve(params = {}) click to toggle source

Retrieve a existing charge object by charge id

@param params [ChargeIdRequest|Hash] Parameters to API call @return [ChargeResponse]

# File lib/spike_pay/charge.rb, line 18
def retrieve(params = {})
  req = SpikePay::ChargeIdRequest.create(params)
  raw_response = @client.request(:get, 'charges/:id', req)
  SpikePay::ChargeResponse.new(raw_response)
end