Skip to content
Create account or Sign in
The Stripe Docs logo
/
Ask AI
Create accountSign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
APIs & SDKsHelp
Overview
Get started with Connect
Design your integration
Integration fundamentals
Example integrations
Account management
Onboard accounts
Configure account Dashboards
Work with connected account types
Payment processing
Accept payments
    Create a charge
    Set statement descriptors
    Set MCCs
    Handle multiple currencies
    Create payment links with Connect
    Use Radar with Connect
    Disputes on Connect
    Create subscriptions
    Create invoices
    Multiple payment method configurations
    Embed the payment method settings component
    Account balance
Pay out to accounts
Platform administration
Manage your Connect platform
Tax forms for your Connect platform
United States
English (United States)
HomePlatforms and marketplacesAccept payments

Create payment links with Connect

With Connect, you can create payment links for connected accounts, optionally taking fees in the process.

Learn more about Connect

Don’t know much about Connect? Check out our Overview article.

You can create payment links for payments to connected accounts. Payment links support all charge types and allow your platform to take an application fee.

Create a payment link using direct charges

  1. In the Dashboard, open the Payment Links page and click + New.
  2. On the Payment page tab, select an existing product or click + Add a new product.
  3. On the Payment page tab, use the Options and Advanced options to customize the payment link.
  4. On the After payment tab, select Split the payment with a connected account. Then select the connected account and enter the application fee amount. For single payments, the fee is a fixed amount. For recurring payments, the fee is a percentage.
  5. Click Create link.

When a customer buys a product through this payment link, the connected account receives the payment minus any application fee, which goes to your platform balance.

When you use direct charges, the connected account is responsible for the cost of the Stripe fees, refunds, and chargebacks.

Create a payment link using destination charges

  1. In the Dashboard, open the Payment Links page and click + New.
  2. On the Payment page tab, select an existing product or click + Add a new product.
  3. On the Payment page tab, use the Options and Advanced options to customize the payment link.
  4. On the After payment tab, select Split the payment with a connected account. Then select the connected account and enter the application fee amount. For single payments, the fee is a fixed amount. For recurring payments, the fee is a percentage. The application fee should be large enough to cover the Stripe fees that your platform pays. Leave Make payment on behalf of selected account unchecked.
  5. Click Create link.

When a customer buys a product through this payment link, the platform receives the payment. The funds then automatically transfer to the connected account minus any application fee, which remains in your platform balance.

When creating destination charges with a payment link, the payment page uses your platform’s brand settings. See the Customize branding section for more information.

Create a payment link using destination charges and on_behalf_of

  1. In the Dashboard, open the Payment Links page and click + New.
  2. On the Payment page tab, select an existing product or click + Add a new product.
  3. On the Payment page tab, use the Options and Advanced options to customize the payment link.
  4. On the After payment tab, select Split the payment with a connected account and select the correct connected account.
  5. Under How much should your business keep?, enter an amount for the application fee. For single payments, the fee is a fixed amount. For recurring payments, the fee is a percentage.
  6. Select Make payment on behalf of selected account to specify the connected account as the settlement merchant.
  7. Click Create link.

Create a payment using separate charges and transfers

If you want to explicitly control the transfer of funds to connected accounts, for example when splitting funds from a single payment between multiple connected accounts, you can create a payment link using separate charges and transfers. These payments don’t automatically transfer any funds to connected accounts.

  1. In the Dashboard, open the Payment Links page and click + New.
  2. On the Payment page tab, select an existing product or click + Add a new product.
  3. On the Payment page tab, use the Options and Advanced options to customize the payment link.
  4. On the After payment tab, leave Split the payment with a connected account unselected.
  5. Click Create link.
  6. When you’re ready to pay your connected account, go to the Balance section of the connected account’s details page and click Send funds.
  7. Enter an amount to transfer to the connected account. To charge an application fee, reduce the transfer amount by the amount of the fee.

Fulfill orders placed through payment links

After an end user pays through a payment link you need to enable your connected accounts to handle any fulfillment necessary.

Configure a webhook endpoint in the Dashboard.

Webhooks page in the Stripe Dashboard

Then create an HTTP endpoint on your server to monitor for completed payments. Make sure to replace the endpoint secret key (whsec_...) in the example with your key.

server.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Using Sinatra. require 'sinatra' require 'stripe' set :port, 4242 # Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
# If you are testing your webhook locally with the Stripe CLI you # can find the endpoint's secret by running `stripe listen` # Otherwise, find your endpoint's secret in your webhook settings in # the Developer Dashboard endpoint_secret = 'whsec_...' post '/webhook' do payload = request.body.read sig_header = request.env['HTTP_STRIPE_SIGNATURE'] event = nil # Verify webhook signature and extract the event. # See https://stripe.com/docs/webhooks#verify-events for more information. begin event = Stripe::Webhook.construct_event( payload, sig_header, endpoint_secret ) rescue JSON::ParserError => e # Invalid payload. status 400 return rescue Stripe::SignatureVerificationError => e # Invalid Signature. status 400 return end if event['type'] == 'checkout.session.completed' session = event['data']['object'] connected_account_id = event['account'] handle_completed_checkout_session(connected_account_id, session) end status 200 end def handle_completed_checkout_session(connected_account_id, session) # Fulfill the purchase puts 'Connected account ID: ' + connected_account_id puts session.to_s end

Learn more in our fulfillment guide.

OptionalCollect application fees

OptionalCustomize branding

OptionalIntegrate tax calculation and collection

Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc