Sha256: 56b494620f4a9a08e3fbc6119f71cae95e5553ac9c7e0c1ad473a28ed3351d39

Contents?: true

Size: 1.61 KB

Versions: 26

Compression:

Stored size: 1.61 KB

Contents

# File generated from our OpenAPI spec
# frozen_string_literal: true

module Stripe
  # You can store multiple cards on a customer in order to charge the customer
  # later. You can also store multiple debit cards on a recipient in order to
  # transfer to those cards later.
  #
  # Related guide: [Card Payments with Sources](https://stripe.com/docs/sources/cards).
  class Card < APIResource
    include Stripe::APIOperations::Delete
    extend Stripe::APIOperations::List
    include Stripe::APIOperations::Save

    OBJECT_NAME = "card"

    def resource_url
      if respond_to?(:customer) && !customer.nil? && !customer.empty?
        "#{Customer.resource_url}/#{CGI.escape(customer)}/sources/#{CGI.escape(id)}"
      elsif respond_to?(:account) && !account.nil? && !account.empty?
        "#{Account.resource_url}/#{CGI.escape(account)}/external_accounts/#{CGI.escape(id)}"
      end
    end

    def self.update(_id, _params = nil, _opts = nil)
      raise NotImplementedError,
            "Card cannot be updated without a customer ID or an account ID. " \
            "Update a card using `Customer.update_source('customer_id', " \
            "'card_id', update_params)` or `Account.update_external_account(" \
            "'account_id', 'card_id', update_params)`"
    end

    def self.retrieve(_id, _opts = nil)
      raise NotImplementedError,
            "Card cannot be retrieved without a customer ID or an account " \
            "ID. Retrieve a card using `Customer.retrieve_source(" \
            "'customer_id', 'card_id')` or " \
            "`Account.retrieve_external_account('account_id', 'card_id')`"
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
stripe-8.6.0.pre.beta.3 lib/stripe/resources/card.rb
stripe-8.6.0.pre.beta.2 lib/stripe/resources/card.rb
stripe-8.6.0.pre.beta.1 lib/stripe/resources/card.rb
stripe-8.5.0 lib/stripe/resources/card.rb
stripe-8.5.0.pre.beta.1 lib/stripe/resources/card.rb
stripe-8.4.0 lib/stripe/resources/card.rb
stripe-8.4.0.pre.beta.3 lib/stripe/resources/card.rb
stripe-8.4.0.pre.beta.2 lib/stripe/resources/card.rb
stripe-8.4.0.pre.beta.1 lib/stripe/resources/card.rb
stripe-8.3.0 lib/stripe/resources/card.rb
stripe-8.3.0.pre.beta.1 lib/stripe/resources/card.rb
stripe-8.2.0 lib/stripe/resources/card.rb
stripe-8.2.0.pre.beta.3 lib/stripe/resources/card.rb
stripe-8.2.0.pre.beta.2 lib/stripe/resources/card.rb
stripe-8.2.0.pre.beta.1 lib/stripe/resources/card.rb
stripe-8.1.0 lib/stripe/resources/card.rb
stripe-8.1.0.pre.beta.4 lib/stripe/resources/card.rb
stripe-8.1.0.pre.beta.3 lib/stripe/resources/card.rb
stripe-8.1.0.pre.beta.2 lib/stripe/resources/card.rb
stripe-8.1.0.pre.beta.1 lib/stripe/resources/card.rb