Legacy
Clone customer payment information across connected accounts Legacy
Reuse payment information across multiple connected accounts that share customers.
Deprecated
The content of this page describes a legacy feature. Support for it might end without notice, so if you use this feature, update your integration to use the current process for reusing payment information across connected accounts. For more information, see Share payment methods across multiple accounts.
This page describes how to clone customer payment information across connected accounts using this legacy feature.
For some business models, it’s helpful to reuse your customers’ payment information across connected accounts. For example, a customer who makes a purchase from one of your connected sellers shouldn’t need to re-enter their credit card or bank account details to purchase from another seller.
With Connect, you can accomplish this by following three steps:
- Storing customers , with a payment method, on the platform account.
- Creating tokens to clone the payment method when it’s time to charge the customer on behalf of a connected account.
- Creating charges using the new tokens.
Storing customers
When not cloning payment methods, you save the Stripe Customer objects on each individual connected Stripe account. When cloning payment methods, you instead save them on the platform Stripe account.
This is an API call but be sure to use your own secret and publishable keys instead of the connect account’s.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Creating tokens
Caution
If your platform uses the Sources API, you must create a Source from that customer rather than creating a token. If your platform uses the Payment Methods API, you must create a PaymentMethod from that customer. After following either of these guides, proceed to Creating charges without creating a token.
When you’re ready to create a charge on a connected account using a customer saved on your platform account, create a new token for that purpose. You’ll need:
- The Stripe account ID of the connected account (for example, acct _ COHDrE4iGdhRZoIH ) that you’re creating the charge for
- The ID of the customer in your platform account (for example, cus _ 0OqzgzWscLe12D ) being charged
- The card or bank account ID for that customer, if you want to charge a specific card or bank account rather than the default
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Creating charges
With the token generated in the previous step, attach this token to a customer on the connected account.
Common mistake
Charges that are made on the cloned customer aren’t reflected on the original customer—use this feature when multiple connected accounts need to charge the same user. If your platform uses the Payment Methods API, you must pass the payment method ID as the payment_method parameter instead of passing the source parameter.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
Then, use the customer ID (for example, cus_dCF4J9XfYkPuJw) and the payment method ID (for example, card_j0xz8sCvxkHcww) returned by the customers.create call to charge the customer.
Command Line
Select a language
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
