Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
OverviewExplore all products
Start building
Start developing
About the APIs
Build with an LLM
Use Stripe without code
Set up Stripe
Create an account
    Overview
    Activate your account
    Add funds to your balance
    Account checklist
    Acceptable verification documents
    Account structure
    Start a team
    Organizations
    Multiple separate accounts
    Linked external accounts
    Settings
    Branding
    Statement descriptors
    Custom email domain
    Custom domain
    Single sign-on
    Stripe Verified
Web Dashboard
Mobile Dashboard
Migrate to Stripe
HomeGet startedCreate an account

Use your custom domain

Learn how to bring your own custom domain to Stripe Checkout, Payment Links, and customer portal.

If you’re using the Stripe-hosted page for Checkout, you can add your own custom domain to Stripe. Adding custom domains is a paid feature. For information about cost, see Checkout’s Pricing.

Add your custom domain to the Stripe Dashboard

Decide what subdomain to use with your Checkout Sessions, Payment Links, and customer portal.

Note

If your domain is example.com, we recommend using payments.example.com as your custom subdomain. You can replace payments with anything you like, as long it’s a valid subdomain. You can’t use a path like example.com/checkout and must specify a subdomain of your existing domain.

After you decide on a subdomain, visit the Custom domains settings page to start the domain connection process.

On the settings page click Add your domain.

In the pop up, enter your desired subdomain. Click Add when you’re done. You’ll see the popup update with instructions for setting up your DNS records.

Your custom domain is activated automatically when your DNS records are verified. To disable this behavior, uncheck the Switch to this domain once added checkbox.

When will my domain be added?

When your domain is in the Adding... state, we wait to verify your DNS records that you set up in the next step. After Stripe verifies the DNS records, we create TLS certificates for your subdomain, set up the correct CDN routing, and then your domain is ready to enable and use.

Identify your DNS Provider

To start, figure out what service is managing your DNS records, so you know exactly where to login and create the new records.

If you already know your DNS provider, you can move on to the next section.

Often, it’s the same place you registered your domain, but sometimes the DNS provider is different from your domain registrar.

If you’re not certain who your DNS provider is, try looking up your domain’s nameservers, replacing stripe.com with your own domain in this command:

Command Line
nslookup -querytype=NS stripe.com

You’ll see a list of nameservers for your domain in the output. Here’s some example output for stripe.com:

nslookup output
# Looks like AWS is providing our DNS here: stripe.com nameserver = ns-423.awsdns-52.com. stripe.com nameserver = ns-705.awsdns-24.net. stripe.com nameserver = ns-1087.awsdns-07.org. stripe.com nameserver = ns-1882.awsdns-43.co.uk.

If you’re more comfortable using a browser-based tool, go to MXLookup’s DNS Lookup tool and enter your domain. It might be able to tell you who your DNS provider is (but not always).

Create required DNS records

In this section, you’ll create the DNS records you need to connect your domain. As you go through each step, check each checkbox to keep track of where you are in the process.

Select the tab that matches your DNS provider from the tabs below—this gives you specific, guided instructions for creating the required DNS records. If your DNS provider isn’t an option, follow the Standard instructions:

Use these instructions to create your DNS records with Cloudflare. If you have issues with any of the steps, please contact Cloudflare Support for more assistance.

Note

To track your progress, go through each step and check it off when you completed it.

  • Visit Cloudflare and log into the Cloudflare dashboard.

  • From the Cloudflare Dashboard:

    1. Click Websites on the left side of the page.

    2. Find your domain in the list of websites.

    3. Click the table row containing your domain name:

      The table of websites you'll see on the Cloudflare dashboard

      In this example image, you’d click on the powdur.me table row.

    4. You should now be on the admin page for your domain.

    5. Click DNS on the left side of the page.

    6. You should see a DNS management page for your domain:

      The DNS view
  • Add a new record that maps your desired subdomain to Stripe Checkout.

    1. Click Add record.

    2. Enter these values in the form that opens:

      FieldValue to enterDescription
      TypeSelect CNAME from the dropdownWhat kind of DNS record this is.
      Target

      If your custom subdomain is checkout.powdur.me, enter checkout

      For CNAME records, this field is the first part of your subdomain (the part leading up to the first period).
      Valuehosted-checkout.stripecdn.comThis is what the new subdomain record points to–in this case, Stripe Checkout.
      TTL5 minAn expiration of 5 minutes (300 seconds) is OK.
      Proxy statusOffSet the proxy status to off to avoid issues during setup.
      What the form looks like filled out, for an example domain

      An example of what the form for adding your CNAME record might look like when filled out.

    3. Click Save.

    4. You’ll see a new table row for the new DNS record, with the following values:

      • Type: CNAME
      • Name: <your subdomain>
      • Content: hosted-checkout.stripecdn.com
      • Proxy status: DNS only
      • TTL: 5 minutes
  • From your DNS control panel, add a new TXT record.

    Note

    This TXT record lets us verify that you’re the owner of this domain. This is required to issue TLS certificates for your domain, so you can continue to accept payments securely.

    1. Click Add record.

    2. Enter these values in the form that opens:

      FieldValue to enterDescription
      TypeSelect TXT from the dropdownWhat kind of DNS record this is.
      Name

      If your custom domain is checkout.powdur.me, enter _acme-challenge.checkout

      For TXT records, this field is the subdomain portion of your domain.
      Content

      Visit the Dashboard settings and click View instructions to copy the correct TXT value record.

      This is a long, unique string used for domain verification.
      TTL5 minAn expiration of 5 minutes (300 seconds) is OK.
      What the form looks like filled out, for an example domain

      An example of what the form for adding your TXT record might look like when filled out.

    3. Click Save.

    4. You’ll see a new table row for the new DNS record, with the following values:

      • Type: TXT
      • Name: _acme-challenge.<your subdomain>
      • Content: <your unique TXT value…>
      • Proxy status: DNS only
      • TTL: 5 minutes
  • After you save your DNS record, verify that it has the correct values.

    1. Wait up to 10 minutes for your DNS provider to update its nameservers.
    2. Replace checkout.powdur.me with your custom domain in the following command and run it from your terminal:
    Command Line
    nslookup -querytype=CNAME checkout.powdur.me

    You should see output like:

    nslookup output
    <your subdomain> canonical name = hosted-checkout.stripecdn.com.

    When you see that output, move onto the next step.

  • After you save your DNS record, verify that it has the correct values.

    1. Wait up to 10 minutes for your DNS provider to update its nameservers.
    2. Replace checkout.powdur.me with your custom domain in the following command and run it from your terminal:
    Command Line
    nslookup -querytype=TXT _acme-challenge.checkout.powdur.me

    You should see output like this:

    nslookup output
    _acme-challenge.<your domain> text = "<your unique TXT record value>"

    If you don’t see your unique TXT record value in the output, wait a bit longer and try running the command again.

    When you finish this step, your DNS records are configured.

If you need any additional information, please read Cloudflare’s official developer guides, starting with Manage DNS records.

Note

If verifying your DNS records or domain seems very slow, try setting CNAME flattening to Flatten CNAME at root. You can find that setting in your Cloudflare Dashboard under DNS > Settings > CNAME Flattening. If setting CNAME Flattening doesn’t fix the issue, contact Stripe Support.

Now that you’ve created your DNS records and verified them, Stripe verifies the connection and provisions your domain on our end. We’ll send you an email and a Dashboard notification when the domain is ready for you to enable it. You can also visit the Dashboard settings at any time to see the current status of your custom domain connection.

OptionalTest your custom domain

OptionalRemoving your custom domain

OptionalUsing custom domains with Connect

OptionalTroubleshooting your integration

OptionalTroubleshooting CAA DNS records

OptionalTroubleshooting a blocked domain

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