Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

4466 articles

Create a source


Create a source

POST / v1 / sources

Creates a new source object.

Parameters

  • type string Required The type of the source to create. Required unless customer and original_source are specified (see the Cloning card Sources guide)
  • amount integer 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 for receiver type sources, where charge amount may not be specified until funds land.
  • currency 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.
  • metadata map 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.
  • owner object Information about the owner of the payment instrument that may be used or required by particular source types.
  • redirect object Parameters required for the redirect flow. Required if the source is authenticated by a redirect ( flow is redirect).
  • statement _ descriptor string 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 a statement_descriptor of RunClub 5K race ticket. While many payment types will display this information, some may not display it at all.

More parameters

  • flow string
  • mandate object
  • receiver object
  • source _ order object
  • token string
  • usage string

Returns

Returns a newly created source.

Response

{ "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

POST / v1 / sources /:id

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

  • amount integer Amount associated with the source.
  • metadata map 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.
  • owner object Information about the owner of the payment instrument that may be used or required by particular source types.

More parameters

  • mandate object
  • source _ order object

Returns

Returns the source object if the update succeeded. This call will raise an error if update parameters are invalid.

Response

{ "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

GET / v1 / sources /:id

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 _ secret string

Returns

Returns a source if a valid identifier was provided.

Response

{ "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"}
Last verified 2026-09-24

Is this helpful?