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

You can optionally collect an application fee for every payment made with the payment link.

For single payments, the fee is a fixed amount for each payment made through the same payment link. It doesn’t vary based on quantity, discounts, or taxes.

For recurring payments, the fee is a set percentage of the total transaction amount for each payment made through the same payment link.

The application fee should be large enough to cover the Stripe fees that your platform pays.

  1. In the After payment tab, select Split the payment with a connected account.
  2. Enter the application fee amount or percentage in How much should your business keep?.
  3. After configuring the payment link to split the payment with your connected account, click + Create link to generate the URL.

After a customer pays using the payment link, the funds flow depends on the charge type:

  • Direct charges: Stripe adds the entire amount to the connected account balance and deducts Stripe fees from it. Stripe then transfers the application fee amount from the connected account balance to your platform account balance.
  • Indirect charges: Stripe adds the entire amount to the platform account balance and deducts Stripe fees from it. Stripe then transfers an amount minus the application fee from your platform balance to the connected account balance.

OptionalCustomize branding

Your platform and connected accounts with access to the full Stripe Dashboard can customize branding on the payments page using the Branding settings. For destination charges with on_behalf_of and direct charges, payment links use the branding settings of the connected account. For destination charges without on_behalf_of, payment links use the branding settings of the platform account.

Platforms can configure the branding settings of connected accounts that don’t have access to the full Stripe Dashboard by calling the update Account API endpoint.

The account update API accepts the following parameters for branding:

  • icon - Displayed next to the business name in the header of the Checkout page.
  • logo- If specified, displayed instead of the icon and business name in the header of the Checkout page.
  • primary_color - Used as the background color on the Checkout page.
  • secondary_color - Used as the button color on the Checkout page.
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/accounts/{{CONNECTED_STRIPE_ACCOUNT_ID}} \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "settings[branding][icon]"=file_123 \ -d "settings[branding][logo]"=file_456 \ --data-urlencode "settings[branding][primary_color]"="#663399" \ --data-urlencode "settings[branding][secondary_color]"="#4BB543"

OptionalIntegrate tax calculation and collection

You need to first determine which entity is liable for tax. The entity that’s liable for tax might be your connected account or the platform, depending on your business model. To learn more, see Stripe Tax with Connect.

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