SourcesDeprecated
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. We recommend that you adopt the PaymentMethods API. This newer API provides access to our latest features and payment method types.
Related guides: Sources API and Sources & Customers.
The Source objectDeprecated
Attributes
- idstring
Unique identifier for the object.
- amountnullable integer
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. - currencynullable enum
Three-letter ISO code for the currency associated with the source. This is the currency for which the source will be chargeable once ready. Required for
single_use
sources. - customernullable string
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.
- metadatanullable dictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
- ownernullable dictionary
Information about the owner of the payment instrument that may be used or required by particular source types.
- redirectnullable dictionary
Information related to the redirect flow. Present if the source is authenticated by a redirect (
flow
isredirect
). - statement_
descriptornullable string Extra information about a source. This will appear on your customer’s statement every time you charge the source.
- statusstring
The status of the source, one of
canceled
,chargeable
,consumed
,failed
, orpending
. Onlychargeable
sources can be used to create a charge. - typeenum
The
type
of the source. Thetype
is a payment method, one ofach_credit_transfer
,ach_debit
,alipay
,bancontact
,card
,card_present
,eps
,giropay
,ideal
,multibanco
,klarna
,p24
,sepa_debit
,sofort
,three_d_secure
, orwechat
. An additional hash is included on the source with a name matching this value. It contains additional information specific to the payment method used.Possible enum valuesach_credit_transfer
ach_debit
alipay
bancontact
card
card_present
eps
giropay
ideal
klarna
Show 6 more
More attributes
- objectstring
- client_
secretstring - code_
verificationnullable dictionary - createdtimestamp
- flowstring
- livemodeboolean
- receivernullable dictionary
- source_
ordernullable dictionary - usagenullable string
{
"id": "src_1N3lxdLkdIwHu7ixPHXy8UcI",
"object": "source",
"ach_credit_transfer": {
"account_number": "test_eb829353ed79",
"bank_name": "TEST BANK",
"fingerprint": "kBQsBk9KtfCgjEYK",
"refund_account_holder_name": null,
"refund_account_holder_type": null,
"refund_routing_number": null,
"routing_number": "110000000",
"swift_code": "TSTEZ122"
},
"amount": null,
"client_secret": "src_client_secret_ZaOIRUD8a9uGmQobLxGvqKSr",
"created": 1683144457,
"currency": "usd",
"flow": "receiver",
"livemode": false,
"metadata": {},
"owner": {
"address": null,
"email": "jenny.rosen@example.com",
"name": null,
"phone": null,
"verified_address": null,
"verified_email": null,
"verified_name": null,
"verified_phone": null
},
"receiver": {
"address": "110000000-test_eb829353ed79",
"amount_charged": 0,
"amount_received": 0,
"amount_returned": 0,
"refund_attributes_method": "email",
"refund_attributes_status": "missing"
},
"statement_descriptor": null,
"status": "pending",
"type": "ach_credit_transfer",
"usage": "reusable"
}
Create a source
Creates a new source object.
Parameters
- typestringRequired
The
type
of the source to create. Required unlesscustomer
andoriginal_source
are specified (see the Cloning card Sources guide) - amountinteger
Amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for
single_use
sources. Not supported forreceiver
type sources, where charge amount may not be specified until funds land. - currencyenum
Three-letter ISO code for the currency associated with the source. This is the currency for which the source will be chargeable once ready.
- metadatadictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - ownerdictionary
Information about the owner of the payment instrument that may be used or required by particular source types.
- redirectdictionary
Parameters required for the redirect flow. Required if the source is authenticated by a redirect (
flow
isredirect
). - statement_
descriptorstring An arbitrary string to be displayed on your customer’s statement. As an example, if your website is
RunClub
and the item you’re charging for is a race ticket, you may want to specify astatement_descriptor
ofRunClub 5K race ticket.
While many payment types will display this information, some may not display it at all.
More parameters
- flowstring
- mandatedictionary
- receiverdictionary
- source_
orderdictionary - tokenstring
- usagestring
Returns
Returns a newly created source.
{
"id": "src_1N3lxdLkdIwHu7ixPHXy8UcI",
"object": "source",
"ach_credit_transfer": {
"account_number": "test_eb829353ed79",
"bank_name": "TEST BANK",
"fingerprint": "kBQsBk9KtfCgjEYK",
"refund_account_holder_name": null,
"refund_account_holder_type": null,
"refund_routing_number": null,
"routing_number": "110000000",
"swift_code": "TSTEZ122"
},
"amount": null,
"client_secret": "src_client_secret_ZaOIRUD8a9uGmQobLxGvqKSr",
"created": 1683144457,
"currency": "usd",
"flow": "receiver",
"livemode": false,
"metadata": {},
"owner": {
"address": null,
"email": "jenny.rosen@example.com",
"name": null,
"phone": null,
"verified_address": null,
"verified_email": null,
"verified_name": null,
"verified_phone": null
},
"receiver": {
"address": "110000000-test_eb829353ed79",
"amount_charged": 0,
"amount_received": 0,
"amount_returned": 0,
"refund_attributes_method": "email",
"refund_attributes_status": "missing"
},
"statement_descriptor": null,
"status": "pending",
"type": "ach_credit_transfer",
"usage": "reusable"
}
Update a source
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 for more detail.
Parameters
- amountinteger
Amount associated with the source.
- metadatadictionary
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - ownerdictionary
Information about the owner of the payment instrument that may be used or required by particular source types.
More parameters
- mandatedictionary
- source_
orderdictionary
Returns
Returns the source object if the update succeeded. This call will return an error if update parameters are invalid.
{
"id": "src_1N3lxdLkdIwHu7ixPHXy8UcI",
"object": "source",
"ach_credit_transfer": {
"account_number": "test_eb829353ed79",
"bank_name": "TEST BANK",
"fingerprint": "kBQsBk9KtfCgjEYK",
"refund_account_holder_name": null,
"refund_account_holder_type": null,
"refund_routing_number": null,
"routing_number": "110000000",
"swift_code": "TSTEZ122"
},
"amount": null,
"client_secret": "src_client_secret_ZaOIRUD8a9uGmQobLxGvqKSr",
"created": 1683144457,
"currency": "usd",
"flow": "receiver",
"livemode": false,
"metadata": {
"order_id": "6735"
},
"owner": {
"address": null,
"email": "jenny.rosen@example.com",
"name": null,
"phone": null,
"verified_address": null,
"verified_email": null,
"verified_name": null,
"verified_phone": null
},
"receiver": {
"address": "110000000-test_eb829353ed79",
"amount_charged": 0,
"amount_received": 0,
"amount_returned": 0,
"refund_attributes_method": "email",
"refund_attributes_status": "missing"
},
"statement_descriptor": null,
"status": "pending",
"type": "ach_credit_transfer",
"usage": "reusable"
}
Retrieve a source
Retrieves an existing source object. Supply the unique source ID from a source creation request and Stripe will return the corresponding up-to-date source object information.
Parameters
No parameters.
More parameters
- client_
secretstring
Returns
Returns a source if a valid identifier was provided.
{
"id": "src_1N3lxdLkdIwHu7ixPHXy8UcI",
"object": "source",
"ach_credit_transfer": {
"account_number": "test_eb829353ed79",
"bank_name": "TEST BANK",
"fingerprint": "kBQsBk9KtfCgjEYK",
"refund_account_holder_name": null,
"refund_account_holder_type": null,
"refund_routing_number": null,
"routing_number": "110000000",
"swift_code": "TSTEZ122"
},
"amount": null,
"client_secret": "src_client_secret_ZaOIRUD8a9uGmQobLxGvqKSr",
"created": 1683144457,
"currency": "usd",
"flow": "receiver",
"livemode": false,
"metadata": {},
"owner": {
"address": null,
"email": "jenny.rosen@example.com",
"name": null,
"phone": null,
"verified_address": null,
"verified_email": null,
"verified_name": null,
"verified_phone": null
},
"receiver": {
"address": "110000000-test_eb829353ed79",
"amount_charged": 0,
"amount_received": 0,
"amount_returned": 0,
"refund_attributes_method": "email",
"refund_attributes_status": "missing"
},
"statement_descriptor": null,
"status": "pending",
"type": "ach_credit_transfer",
"usage": "reusable"
}