Sha256: 7c5eee53c0bad15d5c9dad42f9f5c503a4c58e1b26ef898788cd8a41de726b02

Contents?: true

Size: 1.68 KB

Versions: 5

Compression:

Stored size: 1.68 KB

Contents

module MangoPay

  # See http://docs.mangopay.com/api-references/card/
  class Card < Resource
    include HTTPCalls::Fetch
    include HTTPCalls::Update
    class << self

      # Retrieves a list of cards having the same fingerprint.
      # The fingerprint is a hash code uniquely generated
      # for each 16-digit card number.
      #
      # @param +fingerprint+ The fingerprint hash code
      # @param +filters+ Optional - a hash accepting following keys:
      # - +page+, +per_page+, +sort+: pagination and sorting params (see MangoPay::HTTPCalls::Fetch::ClassMethods#fetch)
      def get_by_fingerprint(fingerprint, filters = {})
        MangoPay.request(:get, fingerprint_url(fingerprint), {}, filters)
      end

      # Retrieves a list of transactions belonging to given +card_id+.
      #
      # Optional +filters+ is a hash accepting following keys:
      # - +page+, +per_page+, +sort+: pagination and sorting params (see MangoPay::HTTPCalls::Fetch::ClassMethods#fetch)
      # - +Status+: TransactionStatus {CREATED, SUCCEEDED, FAILED}
      # - +ResultCode+: string representing the transaction result
      def transactions(card_id, filters = {})
        url = url(card_id) + '/transactions'
        MangoPay.request(:get, url, {}, filters)
      end

      def fingerprint_url(fingerprint)
        "#{MangoPay.api_path}/cards/fingerprints/#{fingerprint}"
      end

      def get_pre_authorizations(card_id, filters = {})
        MangoPay.request(:get, "#{MangoPay.api_path}/cards/#{card_id}/preauthorizations")
      end

      def validate(card_id, params)
        url = "#{MangoPay.api_path}/cards/#{card_id}/validation"
        MangoPay.request(:post, url, params)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mangopay-3.20.0 lib/mangopay/card.rb
mangopay-3.19.0 lib/mangopay/card.rb
mangopay-3.18.0 lib/mangopay/card.rb
mangopay-3.17.0 lib/mangopay/card.rb
mangopay-3.16.0 lib/mangopay/card.rb