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](docs.stripe.com/api/sources). We recommend that you adopt the [PaymentMethods API](docs.stripe.com/api/payment_methods). This newer API provides access to our latest features and payment method types.
Related guides: [Sources API](docs.stripe.com/sources) and [Sources & Customers](docs.stripe.com/sources/customers).
Defined Under Namespace
Classes: AchCreditTransfer, AchDebit, AcssDebit, Alipay, AuBecsDebit, Bancontact, Card, CardPresent, CodeVerification, Eps, Giropay, Ideal, Klarna, Multibanco, Owner, P24, Paypal, Receiver, Redaction, Redirect, SepaCreditTransfer, SepaDebit, Sofort, SourceOrder, ThreeDSecure, 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
If the object exists in live mode, the value is ‘true`.
-
#metadata ⇒ Object
readonly
Set of [key-value pairs](docs.stripe.com/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.
-
#redaction ⇒ Object
readonly
Redaction status of this source.
-
#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?, field_encodings, #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
847 848 849 |
# File 'lib/stripe/resources/source.rb', line 847 def ach_credit_transfer @ach_credit_transfer end |
#ach_debit ⇒ Object (readonly)
Attribute for field ach_debit
849 850 851 |
# File 'lib/stripe/resources/source.rb', line 849 def ach_debit @ach_debit end |
#acss_debit ⇒ Object (readonly)
Attribute for field acss_debit
851 852 853 |
# File 'lib/stripe/resources/source.rb', line 851 def acss_debit @acss_debit end |
#alipay ⇒ Object (readonly)
Attribute for field alipay
853 854 855 |
# File 'lib/stripe/resources/source.rb', line 853 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”.
855 856 857 |
# File 'lib/stripe/resources/source.rb', line 855 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.
857 858 859 |
# File 'lib/stripe/resources/source.rb', line 857 def amount @amount end |
#au_becs_debit ⇒ Object (readonly)
Attribute for field au_becs_debit
859 860 861 |
# File 'lib/stripe/resources/source.rb', line 859 def au_becs_debit @au_becs_debit end |
#bancontact ⇒ Object (readonly)
Attribute for field bancontact
861 862 863 |
# File 'lib/stripe/resources/source.rb', line 861 def bancontact @bancontact end |
#card ⇒ Object (readonly)
Attribute for field card
863 864 865 |
# File 'lib/stripe/resources/source.rb', line 863 def card @card end |
#card_present ⇒ Object (readonly)
Attribute for field card_present
865 866 867 |
# File 'lib/stripe/resources/source.rb', line 865 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.
867 868 869 |
# File 'lib/stripe/resources/source.rb', line 867 def client_secret @client_secret end |
#code_verification ⇒ Object (readonly)
Attribute for field code_verification
869 870 871 |
# File 'lib/stripe/resources/source.rb', line 869 def code_verification @code_verification end |
#created ⇒ Object (readonly)
Time at which the object was created. Measured in seconds since the Unix epoch.
871 872 873 |
# File 'lib/stripe/resources/source.rb', line 871 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.
873 874 875 |
# File 'lib/stripe/resources/source.rb', line 873 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.
875 876 877 |
# File 'lib/stripe/resources/source.rb', line 875 def customer @customer end |
#eps ⇒ Object (readonly)
Attribute for field eps
877 878 879 |
# File 'lib/stripe/resources/source.rb', line 877 def eps @eps end |
#flow ⇒ Object (readonly)
The authentication ‘flow` of the source. `flow` is one of `redirect`, `receiver`, `code_verification`, `none`.
879 880 881 |
# File 'lib/stripe/resources/source.rb', line 879 def flow @flow end |
#giropay ⇒ Object (readonly)
Attribute for field giropay
881 882 883 |
# File 'lib/stripe/resources/source.rb', line 881 def giropay @giropay end |
#id ⇒ Object (readonly)
Unique identifier for the object.
883 884 885 |
# File 'lib/stripe/resources/source.rb', line 883 def id @id end |
#ideal ⇒ Object (readonly)
Attribute for field ideal
885 886 887 |
# File 'lib/stripe/resources/source.rb', line 885 def ideal @ideal end |
#klarna ⇒ Object (readonly)
Attribute for field klarna
887 888 889 |
# File 'lib/stripe/resources/source.rb', line 887 def klarna @klarna end |
#livemode ⇒ Object (readonly)
If the object exists in live mode, the value is ‘true`. If the object exists in test mode, the value is `false`.
889 890 891 |
# File 'lib/stripe/resources/source.rb', line 889 def livemode @livemode end |
#metadata ⇒ Object (readonly)
Set of [key-value pairs](docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
891 892 893 |
# File 'lib/stripe/resources/source.rb', line 891 def @metadata end |
#multibanco ⇒ Object (readonly)
Attribute for field multibanco
893 894 895 |
# File 'lib/stripe/resources/source.rb', line 893 def multibanco @multibanco end |
#object ⇒ Object (readonly)
String representing the object’s type. Objects of the same type share the same value.
895 896 897 |
# File 'lib/stripe/resources/source.rb', line 895 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.
897 898 899 |
# File 'lib/stripe/resources/source.rb', line 897 def owner @owner end |
#p24 ⇒ Object (readonly)
Attribute for field p24
899 900 901 |
# File 'lib/stripe/resources/source.rb', line 899 def p24 @p24 end |
#paypal ⇒ Object (readonly)
Attribute for field paypal
901 902 903 |
# File 'lib/stripe/resources/source.rb', line 901 def paypal @paypal end |
#receiver ⇒ Object (readonly)
Attribute for field receiver
903 904 905 |
# File 'lib/stripe/resources/source.rb', line 903 def receiver @receiver end |
#redaction ⇒ Object (readonly)
Redaction status of this source. If not null, this source is associated to a redaction job.
905 906 907 |
# File 'lib/stripe/resources/source.rb', line 905 def redaction @redaction end |
#redirect ⇒ Object (readonly)
Attribute for field redirect
907 908 909 |
# File 'lib/stripe/resources/source.rb', line 907 def redirect @redirect end |
#sepa_credit_transfer ⇒ Object (readonly)
Attribute for field sepa_credit_transfer
909 910 911 |
# File 'lib/stripe/resources/source.rb', line 909 def sepa_credit_transfer @sepa_credit_transfer end |
#sepa_debit ⇒ Object (readonly)
Attribute for field sepa_debit
911 912 913 |
# File 'lib/stripe/resources/source.rb', line 911 def sepa_debit @sepa_debit end |
#sofort ⇒ Object (readonly)
Attribute for field sofort
913 914 915 |
# File 'lib/stripe/resources/source.rb', line 913 def sofort @sofort end |
#source_order ⇒ Object (readonly)
Attribute for field source_order
915 916 917 |
# File 'lib/stripe/resources/source.rb', line 915 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.
917 918 919 |
# File 'lib/stripe/resources/source.rb', line 917 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.
919 920 921 |
# File 'lib/stripe/resources/source.rb', line 919 def status @status end |
#three_d_secure ⇒ Object (readonly)
Attribute for field three_d_secure
921 922 923 |
# File 'lib/stripe/resources/source.rb', line 921 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](docs.stripe.com/sources) used.
923 924 925 |
# File 'lib/stripe/resources/source.rb', line 923 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.
925 926 927 |
# File 'lib/stripe/resources/source.rb', line 925 def usage @usage end |
#wechat ⇒ Object (readonly)
Attribute for field wechat
927 928 929 |
# File 'lib/stripe/resources/source.rb', line 927 def wechat @wechat end |
Class Method Details
.create(params = {}, opts = {}) ⇒ Object
Creates a new source object.
930 931 932 |
# File 'lib/stripe/resources/source.rb', line 930 def self.create(params = {}, opts = {}) request_stripe_object(method: :post, path: "/v1/sources", params: params, opts: opts) end |
.field_remappings ⇒ Object
1022 1023 1024 |
# File 'lib/stripe/resources/source.rb', line 1022 def self.field_remappings @field_remappings = {} end |
.inner_class_types ⇒ Object
991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 |
# File 'lib/stripe/resources/source.rb', line 991 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, redaction: Redaction, 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.
937 938 939 940 941 942 943 944 |
# File 'lib/stripe/resources/source.rb', line 937 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.
957 958 959 960 961 962 963 964 |
# File 'lib/stripe/resources/source.rb', line 957 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
966 967 968 969 970 971 972 973 974 975 976 977 978 |
# File 'lib/stripe/resources/source.rb', line 966 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
980 981 982 983 984 985 986 987 |
# File 'lib/stripe/resources/source.rb', line 980 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.
947 948 949 950 951 952 953 954 |
# File 'lib/stripe/resources/source.rb', line 947 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 |