---
updatedAt: 2026-08-06T10:15:59.000Z
---

Fetch the complete documentation index at: https://docs.truelayer.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Welcome

Welcome to the TrueLayer documentation.

The place for technical integration guides, and other resources to help you get the most out of TrueLayer products.

<HTMLBlock>{`
<div class="flex-card-1 dark-flip ">
    <div class="flex-container-1">
        <div class="QS-text">
            <h2>Get started</h2>
            
            <h3>Quickstart guides and collections</h3>
            <p>Want to start testing straight away? Read our <a
                    href="https://docs.truelayer.com/docs/quickstart-guides">quickstart
                    guides</a> and use our <a href="https://docs.truelayer.com/docs/collections">collections</a>
                to get up and running as quickly as possible.</p>
            <h3>API Client Libraries</h3>
            <p>Speed up your integration by using our <a href="https://docs.truelayer.com/docs/client-libraries-welcome">API client libraries</a>.   
                They simplify API calls with easy-to-use interfaces, type-hinted methods and abstractions. They also automate request signing for all Payments POST requests, reducing the need for manual configuration. These libraries minimize effort and accelerate integration.</p>
            <h3>Integration checklists</h3>
            <p>Our integration checklists for <a href="https://docs.truelayer.com/docs/payments-integration-checklist"
                    target="_blank">payments</a>, <a
                    href="https://docs.truelayer.com/docs/payouts-integration-checklist" target="_blank">payouts</a>,
                and <a href="https://docs.truelayer.com/docs/vrp-integration-checklist" target="_blank">VRPs</a> guide
                you through every step you need to get live with TrueLayer.</p>
            <h3>Ecommerce plugins</h3>
            <p>Use TrueLayer for payments in your webshop with our plugins for <a
                    href="https://docs.truelayer.com/docs/woocommerce" target="_blank">WooCommerce</a>, <a
                    href="https://docs.truelayer.com/docs/shopify" target="_blank">Shopify</a> and <a
                    href="https://docs.truelayer.com/docs/magento" target="_blank">Magento</a>.
        </div>
    </div>
</div>

<style>
    .flex-card-1 {
        background-color: #f2f2f2;
        background: rgb(239, 240, 250);
        margin: 0px;
        padding: 1rem;
        box-shadow: none;
        border-radius: 8px;
        border: solid 1px #D0D0D7;
    }

    .flex-container-1 {
        display: flex;
        align-items: center;
    }

    .flex-card-1-icon {
        display: flex;
        align-items: center;
    }

    .QS-text {
        flex-grow: 1;
    }

    .QS-text h2 {
        font-family: 'system-ui';
        margin: 0 0 1rem;
    }

    @media (max-width: 500px) {
        .flex-container-1 {
            flex-direction: column;
        }

    }
</style>
`}</HTMLBlock>

<br />

<h2>Products</h2>

Explore TrueLayer's products, what they can do and how to integrate them.

<HTMLBlock>{`
<div class="flex-container-2 dark-flip">
    <div class="flex-card-2">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/16c4070-product_paydirect_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/payment-basics" onclick="location.href='https://docs.truelayer.com/docs/payment-basics';" style="cursor: pointer;">Payments</a></h4>
         <p>Accept and send instant bank payments in any app or website.</p> 
        </div>
      </div>
    </div>
  
    <div class="flex-card-2 dark-flip">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/17af4e5-product_payouts_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/payout-and-refund-basics" onclick="location.href='https://docs.truelayer.com/docs/payout-and-refund-basics';" style="cursor: pointer;">Payouts</a></h4>
         <p>Improve customer satisfaction by speeding up withdrawals, refunds and payouts.</p>
        </div>
      </div>
    </div>
  
    <div class="flex-card-2 dark-flip">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/5229769-product_signupplus_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/signup-basics" onclick="location.href='https://docs.truelayer.com/docs/signup-basics';" style="cursor: pointer;">Signup+</a></h4>
         <p>Streamline onboarding with a single payment.</p>
        </div>
      </div>
    </div>
  
    <div class="flex-card-2 dark-flip">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/9f9f021-product_vrp_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/vrp-basics" onclick="location.href='https://docs.truelayer.com/docs/vrp-basics';" style="cursor: pointer;">VRP</a></h4>
         <p>Reduce costs, fraud and friction with variable recurring payments — powered by open banking.</p>
        </div>
      </div>
    </div>
</div>

<link rel="stylesheet" href="https://use.typekit.net/fad8jym.css">

<style>
.flex-container-2 {
  display: grid;
    grid-template-columns: 1fr 1fr;
  align-items: stretch;
  margin: 0 auto;
  gap: 1.5rem;
}
  .flex-card-2 {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding:.5rem 1rem .5rem .5rem;
    box-shadow: none;
    border-radius: 8px;
    border: solid 1px #d0d0d7;
  }

.flex-card-2-content {
  display: flex;
  column-gap: 1rem;
}

.flex-card-2-content img {
max-width: 40px;
  max-height: 40px;
  }
.flex-card-2 h4 {
    margin: 0.5rem 0 1rem;
}

@media (max-width: 500px) {
  .flex-card-2 {
    padding: 1rem
  }
  .flex-card-2-content {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    height:100%;
    row-gap: 1rem;
  }
  .flex-card-2-text {
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

}

</style>
`}</HTMLBlock>

<Callout icon="📘" theme="info">
  ### Prisma

  Prisma is TrueLayer's design system.

  For an optimised payment experience even before the checkout screen, use the assets, resources and guidelines on [the Prisma site](https://prisma.truelayer.com/) combined with [the payment authorisation UI for your use case](https://docs.truelayer.com/docs/choose-a-tl-ui).
</Callout>

<h3>Add-ons</h3>

Enhance your TrueLayer payments with our add-ons.

<HTMLBlock>{`
<div class="flex-container-2 dark-flip">
    <div class="flex-card-2">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/339f975-product_data_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/data-api-basics" onclick="location.href='https://docs.truelayer.com/docs/data-api-basics';" style="cursor: pointer;">Data</a></h4>
         <p>Get real-time access to account, balance, transaction, and identity data using open banking AIS.</p>
        </div>
      </div>
    </div>
  
    <div class="flex-card-2">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/64445ad-product_verification_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/verification-api-basics" onclick="location.href='https://docs.truelayer.com/docs/verification-api-basics';" style="cursor: pointer;">Verification</a></h4>
         <p>Verify your customer’s account details and ownership in seconds using their bank app.</p>
        </div>
      </div>
    </div>
</div>

<link rel="stylesheet" href="https://use.typekit.net/fad8jym.css">

<style>
.flex-container-2 {
  display: grid;
    grid-template-columns: 1fr 1fr;
  align-items: stretch;
  margin: 0 auto;
  gap: 1.5rem;
}
  .flex-card-2 {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding:.5rem 1rem .5rem .5rem;
    box-shadow: none;
    border-radius: 8px;
    border: solid 1px #d0d0d7;
  }

.flex-card-2-content {
  display: flex;
  column-gap: 1rem;
}

.flex-card-2-content img {
max-width: 40px;
  max-height: 40px;
  }
.flex-card-2 h4 {
    margin: 0.5rem 0 1rem;
}

@media (max-width: 500px) {
  .flex-card-2 {
    padding: 1rem
  }
  .flex-card-2-content {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    height:100%;
    row-gap: 1rem;
  }
  .flex-card-2-text {
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

}

</style>
`}</HTMLBlock>

<h2>Integration checklists</h2>

Use our integration checklists to ensure your integrations are complete. These checklists contain every step required to integrate these products, so you can ensure you're including everything needed in your integration.

<HTMLBlock>{`
<div class="flex-container-2 dark flip">
    <div class="flex-card-2">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/16c4070-product_paydirect_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/payments-integration-checklist" onclick="location.href='https://docs.truelayer.com/docs/payments-integration-checklist';" style="cursor: pointer;">Closed-loop payment integration checklist</a></h4>
         <p>Learn every step required to create a closed-loop payment, where a user pays into your merchant account and you then make a payment back to that user.</p>
        </div>
      </div>
    </div>
    <div class="flex-card-2">
      <div class="flex-card-2-content">
       <img src="https://files.readme.io/17af4e5-product_payouts_lavender.png" alt="Icon" class="card-icon">
        <div class="flex-card-2-text">
         <h4 class="flex-card-2-title"><a href="https://docs.truelayer.com/docs/payouts-integration-checklist" onclick="location.href='https://docs.truelayer.com/docs/payouts-integration-checklist';" style="cursor: pointer;">Open-loop payout integration checklist</a></h4>
         <p>Learn every step required to create a open-loop payout, where you make a payment from your merchant to any other account.</p>
        </div>
      </div>
    </div>
</div>

<link rel="stylesheet" href="https://use.typekit.net/fad8jym.css">

<style>
.flex-container-2 {
  display: grid;
    grid-template-columns: 1fr 1fr;
  align-items: stretch;
  margin: 0 auto;
  gap: 1.5rem;
}
  .flex-card-2 {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    padding:.5rem 1rem .5rem .5rem;
    box-shadow: none;
    border-radius: 8px;
    border: solid 1px #d0d0d7;
  }

.flex-card-2-content {
  display: flex;
  column-gap: 1rem;
}

.flex-card-2-content img {
max-width: 40px;
  max-height: 40px;
  }
.flex-card-2 h4 {
    margin: 0.5rem 0 1rem;
}

@media (max-width: 500px) {
  .flex-card-2 {
    padding: 1rem
  }
  .flex-card-2-content {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    height:100%;
    row-gap: 1rem;
  }
  .flex-card-2-text {
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}

}

</style>
`}</HTMLBlock>

<h2>Low and no-code integrations</h2>

<h3>Ecommerce plugins</h3>

Our complete guides show how to integrate TrueLayer payments into your eshop. Read the plugins overview section first, then go to the guide for your specific plugin:

* [Magento](/docs/magento)
* [Shopify](/docs/shopify)

<h3>Payment links</h3>

Our payment links product provides an easy way to integrate payments to your account. They feature a simpler integration process, itemised products, and a user friendly interface.

<HTMLBlock>{`
<p><small>The information provided in the Documentation and API Reference is descriptive for educational and guidance purposes, reflecting technical understanding and best practices. It should not be relied upon as a definitive or exhaustive resource. While efforts have been made to ensure accuracy, the information contained in the Documentation does not form part of your agreement with us.</small></p>
`}</HTMLBlock>