Class: Stripe::Source
- Inherits:
-
APIResource
- Object
- StripeObject
- APIResource
- Stripe::Source
- Extended by:
- Gem::Deprecate, APIOperations::Create, APIOperations::NestedResource
- Includes:
- APIOperations::Save
- Defined in:
- lib/stripe/resources/source.rb
Overview
‘Source` objects allow you to accept a variety of payment methods. They represent a customer’s payment instrument, and can be used with the Stripe API just like a ‘Card` object: once chargeable, they can be charged, or can be attached to customers.
Stripe doesn’t recommend using the deprecated [Sources API](stripe.com/docs/api/sources). We recommend that you adopt the [PaymentMethods API](stripe.com/docs/api/payment_methods). This newer API provides access to our latest features and payment method types.
Related guides: [Sources API](stripe.com/docs/sources) and [Sources & Customers](stripe.com/docs/sources/customers).
Defined Under Namespace
Classes: AchCreditTransfer, AchDebit, AcssDebit, Alipay, AuBecsDebit, Bancontact, Card, CardPresent, CodeVerification, CreateParams, Eps, Giropay, Ideal, Klarna, Multibanco, Owner, P24, Paypal, Receiver, Redirect, SepaCreditTransfer, SepaDebit, Sofort, SourceOrder, ThreeDSecure, UpdateParams, VerifyParams, Wechat
Constant Summary collapse
- OBJECT_NAME =
"source"
Constants inherited from StripeObject
Stripe::StripeObject::RESERVED_FIELD_NAMES
Instance Attribute Summary collapse
-
#ach_credit_transfer ⇒ Object
readonly
Attribute for field ach_credit_transfer.
-
#ach_debit ⇒ Object
readonly
Attribute for field ach_debit.
-
#acss_debit ⇒ Object
readonly
Attribute for field acss_debit.
-
#alipay ⇒ Object
readonly
Attribute for field alipay.
-
#allow_redisplay ⇒ Object
readonly
This field indicates whether this payment method can be shown again to its customer in a checkout flow.
-
#amount ⇒ Object
readonly
A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source.
-
#au_becs_debit ⇒ Object
readonly
Attribute for field au_becs_debit.
-
#bancontact ⇒ Object
readonly
Attribute for field bancontact.
-
#card ⇒ Object
readonly
Attribute for field card.
-
#card_present ⇒ Object
readonly
Attribute for field card_present.
-
#client_secret ⇒ Object
readonly
The client secret of the source.
-
#code_verification ⇒ Object
readonly
Attribute for field code_verification.
-
#created ⇒ Object
readonly
Time at which the object was created.
-
#currency ⇒ Object
readonly
Three-letter [ISO code for the currency](stripe.com/docs/currencies) associated with the source.
-
#customer ⇒ Object
readonly
The ID of the customer to which this source is attached.
-
#eps ⇒ Object
readonly
Attribute for field eps.
-
#flow ⇒ Object
readonly
The authentication ‘flow` of the source.
-
#giropay ⇒ Object
readonly
Attribute for field giropay.
-
#id ⇒ Object
readonly
Unique identifier for the object.
-
#ideal ⇒ Object
readonly
Attribute for field ideal.
-
#klarna ⇒ Object
readonly
Attribute for field klarna.
-
#livemode ⇒ Object
readonly
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object.
-
#multibanco ⇒ Object
readonly
Attribute for field multibanco.
-
#object ⇒ Object
readonly
String representing the object’s type.
-
#owner ⇒ Object
readonly
Information about the owner of the payment instrument that may be used or required by particular source types.
-
#p24 ⇒ Object
readonly
Attribute for field p24.
-
#paypal ⇒ Object
readonly
Attribute for field paypal.
-
#receiver ⇒ Object
readonly
Attribute for field receiver.
-
#redirect ⇒ Object
readonly
Attribute for field redirect.
-
#sepa_credit_transfer ⇒ Object
readonly
Attribute for field sepa_credit_transfer.
-
#sepa_debit ⇒ Object
readonly
Attribute for field sepa_debit.
-
#sofort ⇒ Object
readonly
Attribute for field sofort.
-
#source_order ⇒ Object
readonly
Attribute for field source_order.
-
#statement_descriptor ⇒ Object
readonly
Extra information about a source.
-
#status ⇒ Object
readonly
The status of the source, one of ‘canceled`, `chargeable`, `consumed`, `failed`, or `pending`.
-
#three_d_secure ⇒ Object
readonly
Attribute for field three_d_secure.
-
#type ⇒ Object
readonly
The ‘type` of the source.
-
#usage ⇒ Object
readonly
Either ‘reusable` or `single_use`.
-
#wechat ⇒ Object
readonly
Attribute for field wechat.
Attributes inherited from APIResource
Attributes inherited from StripeObject
Class Method Summary collapse
-
.create(params = {}, opts = {}) ⇒ Object
Creates a new source object.
- .field_remappings ⇒ Object
- .inner_class_types ⇒ Object
- .object_name ⇒ Object
-
.update(source, params = {}, opts = {}) ⇒ Object
Updates the specified source by setting the values of the parameters passed.
-
.verify(source, params = {}, opts = {}) ⇒ Object
Verify a given source.
Instance Method Summary collapse
- #detach(params = {}, opts = {}) ⇒ Object
- #source_transactions(params = {}, opts = {}) ⇒ Object
-
#verify(params = {}, opts = {}) ⇒ Object
Verify a given source.
Methods included from APIOperations::Create
Methods included from APIOperations::NestedResource
Methods included from APIOperations::Save
Methods inherited from APIResource
class_name, custom_method, #refresh, #request_stripe_object, resource_url, #resource_url, retrieve, save_nested_resource
Methods included from APIOperations::Request
Methods inherited from StripeObject
#==, #[], #[]=, #_get_inner_class_type, additive_object_param, additive_object_param?, #as_json, construct_from, #deleted?, #dirty!, #each, #eql?, #hash, #initialize, #inspect, #keys, #marshal_dump, #marshal_load, protected_fields, #serialize_params, #to_hash, #to_json, #to_s, #update_attributes, #values
Constructor Details
This class inherits a constructor from Stripe::StripeObject
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class Stripe::StripeObject
Instance Attribute Details
#ach_credit_transfer ⇒ Object (readonly)
Attribute for field ach_credit_transfer
1414 1415 1416 |
# File 'lib/stripe/resources/source.rb', line 1414 def ach_credit_transfer @ach_credit_transfer end |
#ach_debit ⇒ Object (readonly)
Attribute for field ach_debit
1416 1417 1418 |
# File 'lib/stripe/resources/source.rb', line 1416 def ach_debit @ach_debit end |
#acss_debit ⇒ Object (readonly)
Attribute for field acss_debit
1418 1419 1420 |
# File 'lib/stripe/resources/source.rb', line 1418 def acss_debit @acss_debit end |
#alipay ⇒ Object (readonly)
Attribute for field alipay
1420 1421 1422 |
# File 'lib/stripe/resources/source.rb', line 1420 def alipay @alipay end |
#allow_redisplay ⇒ Object (readonly)
This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to “unspecified”.
1422 1423 1424 |
# File 'lib/stripe/resources/source.rb', line 1422 def allow_redisplay @allow_redisplay end |
#amount ⇒ Object (readonly)
A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for ‘single_use` sources.
1424 1425 1426 |
# File 'lib/stripe/resources/source.rb', line 1424 def amount @amount end |
#au_becs_debit ⇒ Object (readonly)
Attribute for field au_becs_debit
1426 1427 1428 |
# File 'lib/stripe/resources/source.rb', line 1426 def au_becs_debit @au_becs_debit end |
#bancontact ⇒ Object (readonly)
Attribute for field bancontact
1428 1429 1430 |
# File 'lib/stripe/resources/source.rb', line 1428 def bancontact @bancontact end |
#card ⇒ Object (readonly)
Attribute for field card
1430 1431 1432 |
# File 'lib/stripe/resources/source.rb', line 1430 def card @card end |
#card_present ⇒ Object (readonly)
Attribute for field card_present
1432 1433 1434 |
# File 'lib/stripe/resources/source.rb', line 1432 def card_present @card_present end |
#client_secret ⇒ Object (readonly)
The client secret of the source. Used for client-side retrieval using a publishable key.
1434 1435 1436 |
# File 'lib/stripe/resources/source.rb', line 1434 def client_secret @client_secret end |
#code_verification ⇒ Object (readonly)
Attribute for field code_verification
1436 1437 1438 |
# File 'lib/stripe/resources/source.rb', line 1436 def code_verification @code_verification end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
1438 1439 1440 |
# File 'lib/stripe/resources/source.rb', line 1438 def created @created end |
#currency ⇒ Object (readonly)
Three-letter [ISO code for the currency](stripe.com/docs/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for ‘single_use` sources.
1440 1441 1442 |
# File 'lib/stripe/resources/source.rb', line 1440 def currency @currency end |
#customer ⇒ Object (readonly)
The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer.
1442 1443 1444 |
# File 'lib/stripe/resources/source.rb', line 1442 def customer @customer end |
#eps ⇒ Object (readonly)
Attribute for field eps
1444 1445 1446 |
# File 'lib/stripe/resources/source.rb', line 1444 def eps @eps end |
#flow ⇒ Object (readonly)
The authentication ‘flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`.
1446 1447 1448 |
# File 'lib/stripe/resources/source.rb', line 1446 def flow @flow end |
#giropay ⇒ Object (readonly)
Attribute for field giropay
1448 1449 1450 |
# File 'lib/stripe/resources/source.rb', line 1448 def giropay @giropay end |
#id ⇒ Object (readonly)
Unique identifier for the object.
1450 1451 1452 |
# File 'lib/stripe/resources/source.rb', line 1450 def id @id end |
#ideal ⇒ Object (readonly)
Attribute for field ideal
1452 1453 1454 |
# File 'lib/stripe/resources/source.rb', line 1452 def ideal @ideal end |
#klarna ⇒ Object (readonly)
Attribute for field klarna
1454 1455 1456 |
# File 'lib/stripe/resources/source.rb', line 1454 def klarna @klarna end |
#livemode ⇒ Object (readonly)
Has the value ‘true` if the object exists in live mode or the value `false` if the object exists in test mode.
1456 1457 1458 |
# File 'lib/stripe/resources/source.rb', line 1456 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
1458 1459 1460 |
# File 'lib/stripe/resources/source.rb', line 1458 def @metadata end |
#multibanco ⇒ Object (readonly)
Attribute for field multibanco
1460 1461 1462 |
# File 'lib/stripe/resources/source.rb', line 1460 def multibanco @multibanco end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
1462 1463 1464 |
# File 'lib/stripe/resources/source.rb', line 1462 def object @object end |
#owner ⇒ Object (readonly)
Information about the owner of the payment instrument that may be used or required by particular source types.
1464 1465 1466 |
# File 'lib/stripe/resources/source.rb', line 1464 def owner @owner end |
#p24 ⇒ Object (readonly)
Attribute for field p24
1466 1467 1468 |
# File 'lib/stripe/resources/source.rb', line 1466 def p24 @p24 end |
#paypal ⇒ Object (readonly)
Attribute for field paypal
1468 1469 1470 |
# File 'lib/stripe/resources/source.rb', line 1468 def paypal @paypal end |
#receiver ⇒ Object (readonly)
Attribute for field receiver
1470 1471 1472 |
# File 'lib/stripe/resources/source.rb', line 1470 def receiver @receiver end |
#redirect ⇒ Object (readonly)
Attribute for field redirect
1472 1473 1474 |
# File 'lib/stripe/resources/source.rb', line 1472 def redirect @redirect end |
#sepa_credit_transfer ⇒ Object (readonly)
Attribute for field sepa_credit_transfer
1474 1475 1476 |
# File 'lib/stripe/resources/source.rb', line 1474 def sepa_credit_transfer @sepa_credit_transfer end |
#sepa_debit ⇒ Object (readonly)
Attribute for field sepa_debit
1476 1477 1478 |
# File 'lib/stripe/resources/source.rb', line 1476 def sepa_debit @sepa_debit end |
#sofort ⇒ Object (readonly)
Attribute for field sofort
1478 1479 1480 |
# File 'lib/stripe/resources/source.rb', line 1478 def sofort @sofort end |
#source_order ⇒ Object (readonly)
Attribute for field source_order
1480 1481 1482 |
# File 'lib/stripe/resources/source.rb', line 1480 def source_order @source_order end |
#statement_descriptor ⇒ Object (readonly)
Extra information about a source. This will appear on your customer’s statement every time you charge the source.
1482 1483 1484 |
# File 'lib/stripe/resources/source.rb', line 1482 def statement_descriptor @statement_descriptor end |
#status ⇒ Object (readonly)
The status of the source, one of ‘canceled`, `chargeable`, `consumed`, `failed`, or `pending`. Only `chargeable` sources can be used to create a charge.
1484 1485 1486 |
# File 'lib/stripe/resources/source.rb', line 1484 def status @status end |
#three_d_secure ⇒ Object (readonly)
Attribute for field three_d_secure
1486 1487 1488 |
# File 'lib/stripe/resources/source.rb', line 1486 def three_d_secure @three_d_secure end |
#type ⇒ Object (readonly)
The ‘type` of the source. The `type` is a payment method, one of `ach_credit_transfer`, `ach_debit`, `alipay`, `bancontact`, `card`, `card_present`, `eps`, `giropay`, `ideal`, `multibanco`, `klarna`, `p24`, `sepa_debit`, `sofort`, `three_d_secure`, or `wechat`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](stripe.com/docs/sources) used.
1488 1489 1490 |
# File 'lib/stripe/resources/source.rb', line 1488 def type @type end |
#usage ⇒ Object (readonly)
Either ‘reusable` or `single_use`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned.
1490 1491 1492 |
# File 'lib/stripe/resources/source.rb', line 1490 def usage @usage end |
#wechat ⇒ Object (readonly)
Attribute for field wechat
1492 1493 1494 |
# File 'lib/stripe/resources/source.rb', line 1492 def wechat @wechat end |
Class Method Details
.create(params = {}, opts = {}) ⇒ Object
Creates a new source object.
1495 1496 1497 |
# File 'lib/stripe/resources/source.rb', line 1495 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/sources", params: params, opts: opts) end |
.field_remappings ⇒ Object
1586 1587 1588 |
# File 'lib/stripe/resources/source.rb', line 1586 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 |
# File 'lib/stripe/resources/source.rb', line 1556 def self.inner_class_types @inner_class_types = { ach_credit_transfer: AchCreditTransfer, ach_debit: AchDebit, acss_debit: AcssDebit, alipay: Alipay, au_becs_debit: AuBecsDebit, bancontact: Bancontact, card: Card, card_present: CardPresent, code_verification: CodeVerification, eps: Eps, giropay: Giropay, ideal: Ideal, klarna: Klarna, multibanco: Multibanco, owner: Owner, p24: P24, paypal: Paypal, receiver: Receiver, redirect: Redirect, sepa_credit_transfer: SepaCreditTransfer, sepa_debit: SepaDebit, sofort: Sofort, source_order: SourceOrder, three_d_secure: ThreeDSecure, wechat: Wechat, } end |
.object_name ⇒ Object
21 22 23 |
# File 'lib/stripe/resources/source.rb', line 21 def self.object_name "source" end |
.update(source, params = {}, opts = {}) ⇒ Object
Updates the specified source by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
This request accepts the metadata and owner as arguments. It is also possible to update type specific information for selected payment methods. Please refer to our [payment method guides](docs.stripe.com/docs/sources) for more detail.
1502 1503 1504 1505 1506 1507 1508 1509 |
# File 'lib/stripe/resources/source.rb', line 1502 def self.update(source, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/sources/%<source>s", { source: CGI.escape(source) }), params: params, opts: opts ) end |
.verify(source, params = {}, opts = {}) ⇒ Object
Verify a given source.
1522 1523 1524 1525 1526 1527 1528 1529 |
# File 'lib/stripe/resources/source.rb', line 1522 def self.verify(source, params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/sources/%<source>s/verify", { source: CGI.escape(source) }), params: params, opts: opts ) end |
Instance Method Details
#detach(params = {}, opts = {}) ⇒ Object
1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 |
# File 'lib/stripe/resources/source.rb', line 1531 def detach(params = {}, opts = {}) if !respond_to?(:customer) || customer.nil? || customer.empty? raise NotImplementedError, "This source object does not appear to be currently attached " \ "to a customer object." end url = "#{Customer.resource_url}/#{CGI.escape(customer)}/sources" \ "/#{CGI.escape(id)}" opts = Util.normalize_opts(opts) APIRequestor.active_requestor.execute_request_initialize_from(:delete, url, :api, self, params: params, opts: RequestOptions.extract_opts_from_hash(opts)) end |
#source_transactions(params = {}, opts = {}) ⇒ Object
1545 1546 1547 1548 1549 1550 1551 1552 |
# File 'lib/stripe/resources/source.rb', line 1545 def source_transactions(params = {}, opts = {}) request_stripe_object( method: :get, path: resource_url + "/source_transactions", params: params, opts: opts ) end |
#verify(params = {}, opts = {}) ⇒ Object
Verify a given source.
1512 1513 1514 1515 1516 1517 1518 1519 |
# File 'lib/stripe/resources/source.rb', line 1512 def verify(params = {}, opts = {}) request_stripe_object( method: :post, path: format("/v1/sources/%<source>s/verify", { source: CGI.escape(self["id"]) }), params: params, opts: opts ) end |