Sha256: f04d6e55096c01a8e3b6d7038ebfa47bd856b1c3f4b31b8e96a8ea7b0c30da60

Contents?: true

Size: 863 Bytes

Versions: 1

Compression:

Stored size: 863 Bytes

Contents

module Paysio
  class Charge < APIResource
    include Paysio::APIOperations::List
    include Paysio::APIOperations::Create
    include Paysio::APIOperations::Update

    def refund(params={})
      response, api_key = Paysio.request(:post, refund_url, @api_key, params)
      refresh_from(response, api_key)
      self
    end

    def capture(params={})
      response, api_key = Paysio.request(:post, capture_url, @api_key, params)
      refresh_from(response, api_key)
      self
    end

    def update_dispute(params)
      response, api_key = Paysio.request(:post, dispute_url, @api_key, params)
      refresh_from({ :dispute => response }, api_key, true)
      dispute
    end

    private

    def refund_url
      url + '/refund'
    end

    def capture_url
      url + '/capture'
    end

    def dispute_url
      url + '/dispute'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paysio-1.0.0 lib/paysio/charge.rb