## Retrieve a Source Retrieve a [Source](/api.md#sources) using its unique ID and client secret. This method returns a `Promise` which resolves with a result object. This object has either: * `result.source`: a [Source](/api#sources) was retrieved successfully. * `result.error`: there was an error. This includes client-side validation errors. Refer to the [API reference](/api/errors) for all possible errors. **Syntax:** `stripe.retrieveSource(...)` - `source` (object) **required** An object containing the unique ID and client secret for a `Source`. You can use a `Source` object created with `stripe.createSource` as the argument to `stripe.retrieveSource`, as every `Source` object has both `id` and `client_secret` keys. - `id` (string) **required** Unique identifier of the `Source`. - `client_secret` (string) **required** A secret available to the web client that created the `Source`, for purposes of retrieving the `Source` later from that same client. ### Retrieve a Source ```js stripe .retrieveSource({ id: '{SOURCE_ID}', client_secret: '{SOURCE_CLIENT_SECRET}', }) .then(function(result) { // Handle result.error or result.source }); ``` ```es_next const {source, error} = await stripe.retrieveSource({ id: '{{SOURCE_ID}}', client_secret: '{{SOURCE_CLIENT_SECRET}}', }); ```