Skip to content
Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Finance automation
Banking as a service
Developer tools
No-code
All products
Home
Payments
Finance automation
Home
Payments
Finance automation
Banking as a service
Developer tools
Overview
Online payments
In-person payments
Multiparty payments
    Overview
    Get started
    Collect payments then pay out
    Enable other businesses to accept payments directly
    Pay out money
    Explore Connect
    Onboard your accounts
    Choose your account type
    Standard
    Express
    Custom
    Service agreement types
    Payment methods
    Account capabilities
    Additional Verifications
    Update verified info
    Connect embedded components
    Quickstart
    Get started with Connect embedded components
    Accept payments
    Create a charge
    Create a payments page
    Create payment links with Connect
    Connect integration guide
    Automatic payment methods
    Set statement descriptors
    Connect platforms using the Payment Methods API
    Create subscriptions
    Create invoices
    Debit Express and Custom connected accounts
    Pay out
    Set bank and debit card payouts
    Bank accounts
    Manage payout schedule
    Manual payouts
    Payout reversals
    Instant Payouts
    Cross-border payouts
    Crypto payouts
    Manage funds
    Add money to your platform balance
    Account balance
    Handle multiple currencies
    Manage accounts
    Best practices
    Listen for updates
    Dashboard account management
    Understanding risk offerings
    Platform controls for Standard accounts
    Make API calls for connected accounts
    Set MCCs
    Testing
    Payment Method Configurations API
    Migrate to Payment Method Configurations API
    Manage tax forms
    Overview
    Get started with tax reporting
    1099 Tax Support and Communication Guide
    Tax form settings
    Calculation methods
    File tax forms
    File tax forms with states
    Identify forms with missing information
    Update tax forms
    Deliver tax forms
    E-delivery for 1099 tax forms
    Correct tax forms
    Split tax forms
    Tax year changeover
    What's new for tax year 2022
After the payment
Add payment methods
Fraud detection
Payment Links
Stripe Checkout UI
Stripe Elements UI
Financial Connections
Crypto
Identity
Climate
About the APIs
Regulation support
Implementation guides
Testing
Connect
·
HomePaymentsMultiparty payments

Connect platforms using the Payment Methods API

Considerations for Stripe Connect platforms adding support for new payment methods using the Payment Methods API.

Connect platform owners can make use of additional payment methods supported with the Payment Methods API. To learn more about creating payments for connected users, and which approach is best for you, refer to our Connect payments and fees documentation.

You can use the Payment Methods API with Connect in a number of ways if you opt for direct charges.

Using the Payment Method API with direct charges

Direct charges require creating PaymentMethods on connected accounts. With any of these methods, you must first enable the payment method you intend to use on the connected account.

Create and attach a PaymentMethod when confirming a PaymentIntent

The recommended way to use the Payment Method API with Connect is to save the payment method details during Payment Intent confirmation. For more information about this process, see Save a card during payment.

With Stripe.js, initialize the Stripe object and set stripeAccount to the connected account’s ID and use the setup_future_usage option when confirming the PaymentIntent. This automatically saves the payment information to the customer for reuse with future charges with that connected account.

See PaymentIntents with Stripe.js for more details about confirming each type of payment method.

var stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { stripeAccount:
'{{CONNECTED_ACCOUNT_ID}}'
, }); (async () => { const {paymentIntent, error} = await stripe.confirmCardPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { card: card, billing_details: { name: 'Jenny Rosen' } }, setup_future_usage: 'off_session', } ); })();

If you’re confirming PaymentIntents from the server, you can make use of authentication using the Stripe-Account header with any of our supported libraries. See Confirm a PaymentIntent for additional details.

Creating PaymentMethods directly on the connected account

You may also create a PaymentMethod directly on a connected account with createPaymentMethod. With Stripe.js, initialize the Stripe object and set stripeAccount to the connected account’s ID.

// Set the connected Stripe Account on which the PaymentMethod should be created const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
, { stripeAccount:
'{{CONNECTED_ACCOUNT_ID}}'
, }); (async () => { const {paymentMethod, error} = await stripe.createPaymentMethod({ type: 'card', card: cardElement, billing_details: { name: 'Jenny Rosen', }, }); // Handle error or paymentMethod })();

If you’re creating PaymentMethods from the server, you can make use of authentication using the Stripe-Account header with any of our supported libraries.

Cloning PaymentMethods

You can also create PaymentMethods on your platform and clone them to a connected account to create direct charges. Cloning is currently supported for PaymentMethods which have type set to either card or us_bank_account.

After you create a PaymentMethod and attach it to a Customer, you can clone that PaymentMethod on a connected account using the connected account’s ID as the Stripe-Account header. Read more about the Payment Methods API.

Command Line
curl https://api.stripe.com/v1/payment_methods \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d customer=
{{CUSTOMER_ID}}
\ -d payment_method=
{{PAYMENT_METHOD_ID}}
\ -H "Stripe-Account:
{{CONNECTED_ACCOUNT_ID}}
"

If you want to reuse PaymentMethods on a connected account, attach them to Customers before using them with PaymentIntents to create charges. You must provide the Customer ID in the request when cloning PaymentMethods that are attached to Customers for security purposes.

It is possible to clone PaymentMethods to connected accounts without previously attaching them to Customers. However, note that the original PaymentMethod will be consumed, since PaymentMethods that aren’t attached to Customers can only be used once.

See also

  • Payment Methods API overview
  • Stripe.js Payment Intents
Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Using the Payment Method API with direct charges
See also
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$