{"title":"Dynamic financing offers","category":"default","creationDate":1776961628,"content":"<p>Adyen offers greater flexibility by supporting dynamic financing offers through the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Capital API<\/a>. Instead of a list of static offers with fixed financing amounts, a dynamic offer provides a range from which your user can select their preferred financing amount.<\/p>\n<p>You can use the range from dynamic offers to, for example, create a slider in your user interface (UI) that allows your user to select the financing amount. After the user confirms their selection, you can create a static offer for the selected amount.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">You must have an Adyen for Platforms integration that supports Capital.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>API credentials<\/strong><\/td>\n<td style=\"text-align: left;\">You must have a <a href=\"\/pt\/capital\/manage-access#api-credentials\">Balance Platform API key<\/a> (for example, <span translate=\"no\"><strong>ws[_123456]@BalancePlatform.[YourBalancePlatform]<\/strong><\/span>) to access the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Capital API<\/a>.<br\/><br\/>Your API credential must have the following roles: <ul><li markdown=\"1\"><strong>Balance Platform Capital Configuration role<\/strong><\/li><li markdown=\"1\"><strong>Balance Platform Capital Grant Initiation role<\/strong><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Capabilities<\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that your user have the following <a href=\"\/pt\/capital\/manage-user-capabilities\">capability<\/a>: <ul><li markdown=\"1\"><span translate=\"no\"><strong>getGrantOffers<\/strong><\/span><\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\"><ul><li markdown=\"1\">Requests to the following endpoints are subject to rate limits in both Test and Live environments:<ul><li markdown=\"1\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/dynamicOffers\/{dynamicOfferId}\/calculate<\/a>: <strong>120 requests per minute<\/strong><\/li><li markdown=\"1\"> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/dynamicOffers\/{dynamicOfferId}\/grantOffer<\/a>: <strong>30 requests per minute<\/strong><\/li><\/ul><li markdown=\"1\">The amount a user selects on your UI must be within the range available to this user. However, you can set a custom logic for amount increments within the range. For example, you can specify steps of EUR&nbsp;100 or EUR&nbsp;500.<\/li><li markdown=\"1\">Each financing offer remains valid for seven days. After this period, a new offer is generated for an account holder if they still meet the qualification criteria. The range may differ from one offer to another.<\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Before you begin, make sure: <ul><li markdown=\"1\">You followed our <a href=\"\/pt\/capital\/compliance-guidelines\">compliance guidelines for Capital<\/a> when creating user interfaces, marketing materials, and other processes.<\/li><li markdown=\"1\">You built a user interface that allows users to select their preferred financing amount from a range.<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<p>The process to get a financing offer through the dynamic offers flow is as follows:<\/p>\n<ol>\n<li>Make an API request to <a href=\"#get-financing-range\">get the range of available financing<\/a> for a specific account holder. Use information from the API response to present the offer in your UI. For example, you can build a slider that allows your users to select their preferred amount.<\/li>\n<li>After the user selects an amount, make an API request to <a href=\"#preliminary-offer\">calculate a preliminary offer<\/a>. This returns an initial breakdown of costs and conditions for the selected financing amount.<\/li>\n<li>When the user confirms their selection, make an API request to <a href=\"#static-offer\">create a static offer<\/a> for the selected amount. This action generates a legally binding offer with a final breakdown of costs and conditions.<\/li>\n<li>Get updates when a new offer is created for your account holder.<\/li>\n<\/ol>\n<p>The following sections provide more details about each step of integrating dynamic financing offers.<\/p>\n<h2 id=\"get-financing-range\">1. Get the range of available financing<\/h2>\n<p>To get the financing range available for a specific user:<\/p>\n<ol>\n<li>\n<p>Make a GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/dynamicOffers<\/a> request including the following query parameters:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#query-accountHolderId\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">accountHolderId<\/a><\/td>\n<td>String<\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td>The unique identifier of that the dynamic offer is for.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#query-financingType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">financingType<\/a><\/td>\n<td>String<\/td>\n<td style=\"text-align: center;\"><\/td>\n<td>The type of financing that the offer is for. Currently, only <span translate=\"no\"><strong>businessFinancing<\/strong><\/span> is supported.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img alt=\"This is the required icon.\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/capital-legend\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/> Required <br><img alt=\"This is the conditionally required icon.\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/capital-legend\/conditionally-required.svg?decoding=auto&amp;fetchpriority=auto\" \/> Conditionally required<\/p>\n<p>The following code sample shows how to get the range of available financing for the account holder ID <span translate=\"no\"><strong>AH00000000000000000000001<\/strong><\/span>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Get available financing range'\" :id=\"'get-financing-range'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/balanceplatform-api-test.adyen.com\\\/capital\\\/v1\\\/dynamicOffers?accountHolderId=AH00000000000000000000001 \\\\\\n-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X GET&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>In the response, note the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">dynamicOffers<\/a> object with the following parameters:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-accountHolderId\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">accountHolderId<\/a>`<\/td>\n<td>The unique identifier of the account holder that the dynamic offer is for.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-contractType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">contractType<\/a><\/td>\n<td>The contract type of the offer.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-expiresAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">expiresAt<\/a><\/td>\n<td>The expiration date and time of the offer validity period.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-financingType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">financingType<\/a><\/td>\n<td>The type of financing that the offer is for. Currently, only <span translate=\"no\"><strong>businessFinancing<\/strong><\/span> is supported.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a><\/td>\n<td>The unique identifier of the dynamic financing offer.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-maximumAmount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">maximumAmount<\/a><\/td>\n<td>An object containing the maximum amount of the financing offer, including both the value and the currency.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-minimumAmount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">minimumAmount<\/a><\/td>\n<td>An object containing the minimum amount of the financing offer, including both the value and the currency.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-repayment\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment<\/a><\/td>\n<td>An object containing the details of the repayment configuration.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-repayment-term-estimatedDays\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.term.estimatedDays<\/a><\/td>\n<td>The estimated period for repaying the grant, in days.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-repayment-term-maximumDays\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.term.maximumDays<\/a><\/td>\n<td>The maximum period for repaying the grant, in days.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/get\/dynamicOffers#responses-200-dynamicOffers-startsAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">startsAt<\/a><\/td>\n<td>The starting date and time of the offer validity period.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Available financing range received'\" :id=\"'available-financing-range'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"dynamicOffers\\\": [\\n        {\\n            \\\"id\\\": \\\"0000000000000001\\\",\\n            \\\"repayment\\\": {\\n                \\\"term\\\": {\\n                    \\\"estimatedDays\\\": 180,\\n                    \\\"maximumDays\\\": 270\\n                }\\n            },\\n            \\\"accountHolderId\\\": \\\"AH00000000000000000000001\\\",\\n            \\\"contractType\\\": \\\"loan\\\",\\n            \\\"startsAt\\\": \\\"2026-01-08T23:00:00Z\\\",\\n            \\\"expiresAt\\\": \\\"2026-01-15T23:00:00Z\\\",\\n            \\\"financingType\\\": \\\"businessFinancing\\\",\\n            \\\"maximumAmount\\\": {\\n                \\\"value\\\": 1000000,\\n                \\\"currency\\\": \\\"EUR\\\"\\n            },\\n            \\\"minimumAmount\\\": {\\n                \\\"value\\\": 50000,\\n                \\\"currency\\\": \\\"EUR\\\"\\n            }\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"preliminary-offer\">2. Calculate a preliminary offer for a selected amount<\/h2>\n<p>When a user selects a financing amount in your UI, for example, by moving a slider to a specific value, you must show preliminary repayment configurations. This includes daily repayment in basis points, applicable fees, repayment period, and offer validity period. The preliminary offer is for informational purposes only and cannot be used to initiate a grant.<\/p>\n<p>To calculate a preliminary offer for the selected amount:<\/p>\n<ol>\n<li>\n<p>Make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/dynamicOffers\/{dynamicOfferId}\/calculate<\/a> request to calculate the repayment configuration for the selected financing offer. In the path, include the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#path-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the dynamic offer returned when you got the range of available financing.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>Requests to this endpoint are subject to rate limits. All requests to the endpoint, including those that result in failure, count toward the specified limit.<\/p>\n<ul>\n<li>Test environment: <strong>120 requests per minute<\/strong><\/li>\n<li>Live environment: <strong>120 requests per minute<\/strong>\n<\/div><\/div><\/li>\n<\/ul>\n<p>Additionally, specify the following parameters in your request body:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#request-amount-currency\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.currency<\/a><\/td>\n<td>String<\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td>The three-character <a href=\"\/pt\/development-resources\/currency-codes\">ISO currency code<\/a>. This value must match the currency of the dynamic offer.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#request-amount-value\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.value<\/a><\/td>\n<td>Integer<\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td>The financing amount that the user selected, in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>. The amount be within the range of the corresponding dynamic offer.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img alt=\"This is the required icon.\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/capital-legend\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/> Required <br><img alt=\"This is the conditionally required icon.\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/capital-legend\/conditionally-required.svg?decoding=auto&amp;fetchpriority=auto\" \/> Conditionally required<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Calculate a preliminary offer for the selected amount'\" :id=\"'calculate-preliminary-offer'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/balanceplatform-api-test.adyen.com\\\/capital\\\/v1\\\/dynamicOffers\\\/00000000000000001\\\/calculate \\\\\\n-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST \\\\\\n-d '{\\n        \\&quot;amount\\&quot;: {\\n            \\&quot;value\\&quot;: 500000,\\n            \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n        }\\n    }'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>In the response, note the parameters in the following table:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-accountHolderId\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">accountHolderId<\/a><\/td>\n<td>The unique identifier of the account holder that the dynamic offer is for.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-amount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount<\/a><\/td>\n<td>An object containing offer currency and value, in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-contractType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">contractType<\/a><\/td>\n<td>The contract type of the offer.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-expiresAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">expiresAt<\/a><\/td>\n<td>The expiration date and time of the offer validity period.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-fee\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">fee<\/a><\/td>\n<td>An object containing the fee currency and value, in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-repayment\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment<\/a><\/td>\n<td>An object containing the details of the repayment configuration.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-repayment-basisPoints\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.basisPoints<\/a><\/td>\n<td>The repayment amount, in <a href=\"https:\/\/www.investopedia.com\/terms\/b\/basispoint.asp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">basis points<\/a>, that is deducted daily from your user's incoming net volume.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-repayment-term-estimatedDays\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.term.estimatedDays<\/a><\/td>\n<td>The estimated period for repaying the grant, in days.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-repayment-term-maximumDays\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.term.maximumDays<\/a><\/td>\n<td>The maximum period for repaying the grant, in days.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-repayment-threshold-amount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.threshold.amount<\/a><\/td>\n<td>An object containing the details of the minimum threshold amount that your user must repay every 30-day period.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/calculate#responses-200-startsAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">startsAt<\/a><\/td>\n<td>The starting date and time of the offer validity period.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Preliminary offer calculated'\" :id=\"'preliminary-offer'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"accountHolderId\\\": \\\"AH00000000000000000000001\\\",\\n    \\\"amount\\\": {\\n        \\\"currency\\\": \\\"EUR\\\",\\n        \\\"value\\\": 50000\\n    },\\n    \\\"contractType\\\": \\\"loan\\\",\\n    \\\"expiresAt\\\": \\\"2026-01-15T23:00:00Z\\\",\\n    \\\"fee\\\": {\\n        \\\"amount\\\": {\\n            \\\"currency\\\": \\\"EUR\\\",\\n            \\\"value\\\": 6200\\n        }\\n    },\\n    \\\"repayment\\\": {\\n        \\\"basisPoints\\\": 700,\\n        \\\"term\\\": {\\n            \\\"estimatedDays\\\": 180,\\n            \\\"maximumDays\\\": 270\\n        },\\n        \\\"threshold\\\": {\\n            \\\"amount\\\": {\\n                \\\"currency\\\": \\\"EUR\\\",\\n                \\\"value\\\": 12500\\n            }\\n        }\\n    },\\n    \\\"startsAt\\\": \\\"2026-01-08T23:00:00Z\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"static-offer\">3. Create a static offer for a selected amount<\/h2>\n<p>After the user selects a final amount from the dynamic offer, use this amount to create a static offer with definitive repayment configurations. This includes the fixed financing amount, daily repayment in basis points, applicable fees, repayment period, and offer validity period.<\/p>\n<p>This is a formal, legally binding offer that must be provided for the user's review in your UI to comply with the <a href=\"\/pt\/capital\/user-interface\">user interface requirements<\/a> for Capital.<\/p>\n<p>To create a static offer for the selected amount:<\/p>\n<ol>\n<li>\n<p>Make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/dynamicOffers\/{dynamicOfferId}\/grantOffer<\/a> request. In the path, include the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#path-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the dynamic offer returned when you got the range of available financing.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>Requests to this endpoint are subject to rate limits. All requests to the endpoint, including those that result in failure, count toward the specified limit.<\/p>\n<ul>\n<li>Test environment: <strong>30 requests per minute<\/strong><\/li>\n<li>Live environment: <strong>30 requests per minute<\/strong>\n<\/div><\/div><\/li>\n<\/ul>\n<p>Additionally, specify the following parameters in your request body:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Type<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#request-amount-currency\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.currency<\/a><\/td>\n<td>String<\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td>The three-character <a href=\"\/pt\/development-resources\/currency-codes\">ISO currency code<\/a>. This value must match the currency of the dynamic offer.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#request-amount-valu\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount.value<\/a><\/td>\n<td>Integer<\/td>\n<td style=\"text-align: center;\"><span class=\"hint--bottom\" data-hint=\"Required\" markdown=\"1\"><img style=\"width: 25px;\" alt=\"Required\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/required\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/><\/span><\/td>\n<td>The final financing amount that the user selected, in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>. The amount be within the range of the corresponding dynamic offer.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img alt=\"This is the required icon.\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/capital-legend\/required.svg?decoding=auto&amp;fetchpriority=auto\" \/> Required <br><img alt=\"This is the conditionally required icon.\" src=\"\/user\/pages\/reuse\/image-library\/01.icons\/capital-legend\/conditionally-required.svg?decoding=auto&amp;fetchpriority=auto\" \/> Conditionally required<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Create a static offer for the selected amount'\" :id=\"'create-static-offer'\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/balanceplatform-api-test.adyen.com\\\/capital\\\/v1\\\/dynamicOffers\\\/00000000000000001\\\/grantOffer \\\\\\n-H 'x-api-key: ADYEN_BALANCE_PLATFORM_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST \\\\\\n-d '{\\n        \\&quot;amount\\&quot;: {\\n            \\&quot;value\\&quot;: 500000,\\n            \\&quot;currency\\&quot;: \\&quot;EUR\\&quot;\\n        }\\n    }'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>In the response, note the parameters in the following table. The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a>  parameter represents a static offer and is required to <a href=\"\/pt\/capital\/make-grant-request\/\">configure a grant<\/a>.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-accountHolderId\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">accountHolderId<\/a><\/td>\n<td>The unique identifier of the account holder that the dynamic offer is for.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-amount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">amount<\/a><\/td>\n<td>An object containing offer currency and value, in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-contractType\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">contractType<\/a><\/td>\n<td>The contract type of the offer.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-expiresAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">expiresAt<\/a><\/td>\n<td>The expiration date and time of the offer validity period.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-fee\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">fee<\/a><\/td>\n<td>An object containing the fee currency and value, in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a><\/td>\n<td>The unique identifier of the static offer. Required to initiate a grant in the next step.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-repayment\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment<\/a><\/td>\n<td>An object containing the details of the repayment configuration.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-repayment-basisPoints\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.basisPoints<\/a><\/td>\n<td>The repayment amount, in <a href=\"https:\/\/www.investopedia.com\/terms\/b\/basispoint.asp\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">basis points<\/a>, that is deducted daily from your user's incoming net volume.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-repayment-term-estimatedDays\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.term.estimatedDays<\/a><\/td>\n<td>The estimated period for repaying the grant, in days.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-repayment-term-maximumDays\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.term.maximumDays<\/a><\/td>\n<td>The maximum period for repaying the grant, in days.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-repayment-threshold-amount\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">repayment.threshold.amount<\/a><\/td>\n<td>An object containing the details of the minimum threshold amount that your user must repay every 30-day period.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital\/latest\/post\/dynamicOffers\/(id)\/grantOffer#responses-200-startsAt\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">startsAt<\/a><\/td>\n<td>The starting date and time of the offer validity period.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Static offer created'\" :id=\"'static-offer'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"accountHolderId\\\": \\\"AH00000000000000000000001\\\",\\n    \\\"amount\\\": {\\n        \\\"currency\\\": \\\"EUR\\\",\\n        \\\"value\\\": 50000\\n    },\\n    \\\"id\\\": \\\"0000000000000002\\\",\\n    \\\"contractType\\\": \\\"loan\\\",\\n    \\\"expiresAt\\\": \\\"2026-01-15T23:00:00Z\\\",\\n    \\\"fee\\\": {\\n        \\\"amount\\\": {\\n            \\\"currency\\\": \\\"EUR\\\",\\n            \\\"value\\\": 6200\\n        }\\n    },\\n    \\\"repayment\\\": {\\n        \\\"basisPoints\\\": 700,\\n        \\\"term\\\": {\\n            \\\"estimatedDays\\\": 180,\\n            \\\"maximumDays\\\": 270\\n        },\\n        \\\"threshold\\\": {\\n            \\\"amount\\\": {\\n                \\\"currency\\\": \\\"EUR\\\",\\n                \\\"value\\\": 12500\\n            }\\n        }\\n    },\\n    \\\"startsAt\\\": \\\"2026-01-08T23:00:00Z\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2>4. Get notified about an offer created<\/h2>\n<p>You can get updates every time a new offer is created for an account holder by subscribing to the following webhooks:<\/p>\n<ul>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital-webhooks\/latest\/post\/balancePlatform.capital.dynamicOffer.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.capital.dynamicOffer.created<\/a> webhook: Notifies your server when a new dynamic offer is created for an account holder.<\/li>\n<li> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/capital-webhooks\/latest\/post\/balancePlatform.balanceAccountHolder.capitalOffer.created\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">balancePlatform.balanceAccountHolder.capitalOffer.created<\/a> webhook: Notifies your server when a new static offer is created for an account holder.<\/li>\n<\/ul>\n\n<div id=\"tabr7wiS\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Dynamic offer created&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/capital-webhooks\\\/latest\\\/post\\\/balancePlatform.capital.dynamicOffer.created\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balancePlatform.capital.dynamicOffer.created&lt;\\\/a&gt; webhook includes information about the offer, such as:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;accountHolderId&lt;\\\/code&gt;: The unique identifier of the account holder that the dynamic offer is for.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;id&lt;\\\/code&gt;: The unique identifier of the dynamic offer.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;contractType&lt;\\\/code&gt;: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;loan&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;maximumAmount&lt;\\\/code&gt;: An object containing currency and value of the maximum offer amount, in &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/currency-codes\\&quot;&gt;minor units&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;minimumAmount&lt;\\\/code&gt;: An object containing currency and value of the minimum offer amount, in &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/currency-codes\\&quot;&gt;minor units&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;repayment.term.estimatedDays&lt;\\\/code&gt;: The estimated period for repaying the grant, in days.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;repayment.term.maximumDays&lt;\\\/code&gt;: The maximum period for repaying the grant, in days.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;financingType&lt;\\\/code&gt;: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;businessFinancing&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;startsAt&lt;\\\/code&gt; and &lt;code&gt;expiresAt&lt;\\\/code&gt;: The dates when the financing offer begins and ends. The offer must be accepted before the expiration date.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Dynamic offer created&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;data\\\\\\&quot;: {\\\\n        \\\\\\&quot;balancePlatform\\\\\\&quot;: \\\\\\&quot;BalancePlatform\\\\\\&quot;,\\\\n        \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;0000000000000001\\\\\\&quot;,\\\\n        \\\\\\&quot;dynamicOffer\\\\\\&quot;: {\\\\n            \\\\\\&quot;accountHolderId\\\\\\&quot;: \\\\\\&quot;AH00000000000000000000001\\\\\\&quot;,\\\\n            \\\\\\&quot;contractType\\\\\\&quot;: \\\\\\&quot;loan\\\\\\&quot;,\\\\n            \\\\\\&quot;expiresAt\\\\\\&quot;: \\\\\\&quot;2026-02-19T20:22:39.489+01:00\\\\\\&quot;,\\\\n            \\\\\\&quot;financingType\\\\\\&quot;: \\\\\\&quot;businessFinancing\\\\\\&quot;,\\\\n            \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;0000000000000001\\\\\\&quot;,\\\\n            \\\\\\&quot;maximumAmount\\\\\\&quot;: {\\\\n                \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n                \\\\\\&quot;value\\\\\\&quot;: 4567\\\\n            },\\\\n            \\\\\\&quot;minimumAmount\\\\\\&quot;: {\\\\n                \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n                \\\\\\&quot;value\\\\\\&quot;: 1234\\\\n            },\\\\n            \\\\\\&quot;repayment\\\\\\&quot;: {\\\\n                \\\\\\&quot;term\\\\\\&quot;: {\\\\n                    \\\\\\&quot;estimatedDays\\\\\\&quot;: 180,\\\\n                    \\\\\\&quot;maximumDays\\\\\\&quot;: 270\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;startsAt\\\\\\&quot;: \\\\\\&quot;2026-02-12T20:22:39.489+01:00\\\\\\&quot;\\\\n        }\\\\n    },\\\\n    \\\\\\&quot;environment\\\\\\&quot;: \\\\\\&quot;test\\\\\\&quot;,\\\\n    \\\\\\&quot;timestamp\\\\\\&quot;: \\\\\\&quot;2026-02-12T19:22:39.699Z\\\\\\&quot;,\\\\n    \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;balancePlatform.capital.dynamicOffer.created\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;dynamic-offer&quot;,&quot;oldTabId&quot;:&quot;dynamic-offer_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Static offer created from the dynamic offer&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/capital-webhooks\\\/latest\\\/post\\\/balancePlatform.balanceAccountHolder.capitalOffer.created\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;balancePlatform.balanceAccountHolder.capitalOffer.created&lt;\\\/a&gt; webhook includes information about the offer, such as:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;accountHolderId&lt;\\\/code&gt;: The unique identifier of the account holder that the static offer is for.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;id&lt;\\\/code&gt;: The unique identifier of the static offer.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;contractType&lt;\\\/code&gt;: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;loan&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;amount&lt;\\\/code&gt;: An object containing currency and value of the offer, in &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/currency-codes\\&quot;&gt;minor units&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;repayment.term.estimatedDays&lt;\\\/code&gt;: The estimated period for repaying the grant, in days.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;repayment.term.maximumDays&lt;\\\/code&gt;: The maximum period for repaying the grant, in days.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;repayment.basisPoints&lt;\\\/code&gt;: The repayment amount, in &lt;a href=\\&quot;https:\\\/\\\/www.investopedia.com\\\/terms\\\/b\\\/basispoint.asp\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;basis points&lt;\\\/a&gt;, that is deducted daily from your user&#039;s incoming net volume.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;repayment.threshold&lt;\\\/code&gt;: An object containing the details of the minimum threshold amount that your user must repay every 30-day period.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;fee&lt;\\\/code&gt;: An object containing the fee currency and value, in &lt;a href=\\&quot;\\\/pt\\\/development-resources\\\/currency-codes\\&quot;&gt;minor units&lt;\\\/a&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;startsAt&lt;\\\/code&gt; and &lt;code&gt;expiresAt&lt;\\\/code&gt;: The dates when the financing offer begins and ends. The offer must be accepted before the expiration date.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n    &lt;code-sample :title=\\&quot;&#039;Static offer created from the dynamic offer&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;data\\\\\\&quot;: {\\\\n        \\\\\\&quot;balancePlatform\\\\\\&quot;: \\\\\\&quot;TestBalancePlatform\\\\\\&quot;,\\\\n        \\\\\\&quot;creationDate\\\\\\&quot;: \\\\\\&quot;2026-01-19T17:17:35+01:00\\\\\\&quot;,\\\\n        \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;0000000000000002\\\\\\&quot;,\\\\n        \\\\\\&quot;offer\\\\\\&quot;: {\\\\n            \\\\\\&quot;accountHolderId\\\\\\&quot;: \\\\\\&quot;AH00000000000000000000001\\\\\\&quot;,\\\\n            \\\\\\&quot;amount\\\\\\&quot;: {\\\\n                \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n                \\\\\\&quot;value\\\\\\&quot;: 629375\\\\n            },\\\\n            \\\\\\&quot;contractType\\\\\\&quot;: \\\\\\&quot;loan\\\\\\&quot;,\\\\n            \\\\\\&quot;expiresAt\\\\\\&quot;: \\\\\\&quot;2026-01-26T17:17:34.328+01:00\\\\\\&quot;,\\\\n            \\\\\\&quot;fee\\\\\\&quot;: {\\\\n                \\\\\\&quot;amount\\\\\\&quot;: {\\\\n                    \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n                    \\\\\\&quot;value\\\\\\&quot;: 94406\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;id\\\\\\&quot;: \\\\\\&quot;0000000000000002\\\\\\&quot;,\\\\n            \\\\\\&quot;repayment\\\\\\&quot;: {\\\\n                \\\\\\&quot;basisPoints\\\\\\&quot;: 800,\\\\n                \\\\\\&quot;term\\\\\\&quot;: {\\\\n                    \\\\\\&quot;estimatedDays\\\\\\&quot;: 180,\\\\n                    \\\\\\&quot;maximumDays\\\\\\&quot;: 270\\\\n                },\\\\n                \\\\\\&quot;threshold\\\\\\&quot;: {\\\\n                    \\\\\\&quot;amount\\\\\\&quot;: {\\\\n                        \\\\\\&quot;currency\\\\\\&quot;: \\\\\\&quot;EUR\\\\\\&quot;,\\\\n                        \\\\\\&quot;value\\\\\\&quot;: 80420\\\\n                    }\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;startsAt\\\\\\&quot;: \\\\\\&quot;2026-01-19T17:17:34.328+01:00\\\\\\&quot;\\\\n        }\\\\n    },\\\\n    \\\\\\&quot;environment\\\\\\&quot;: \\\\\\&quot;test\\\\\\&quot;,\\\\n    \\\\\\&quot;timestamp\\\\\\&quot;: \\\\\\&quot;2026-01-19T16:17:35.558Z\\\\\\&quot;,\\\\n    \\\\\\&quot;type\\\\\\&quot;: \\\\\\&quot;balancePlatform.balanceAccountHolder.capitalOffer.created\\\\\\&quot;\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:&quot;static-offer&quot;,&quot;oldTabId&quot;:&quot;static-offer_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/capital\/get-grant-offers\/dynamic-offers","articleFields":{"description":"Learn how to get dynamic offers to present a minimum and maximum financing range to your users.","feedback_component":true,"next_steps":[{"title":"Show the Terms of Service","description":"Get your users to accept Adyen's Terms of Service.","url":"\/capital\/terms-of-service","required":true},{"title":"Disburse a grant","description":"Learn how to make a request for a grant and disburse the funds to your user's account.","url":"\/capital\/make-grant-request","required":true}],"parameters":{"directoryPath":"\/capital","model":"platform","financialProduct":"capital"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/capital\/get-grant-offers\/dynamic-offers","title":"Dynamic financing offers","content":"Adyen offers greater flexibility by supporting dynamic financing offers through the  Capital API. Instead of a list of static offers with fixed financing amounts, a dynamic offer provides a range from which your user can select their preferred financing amount.\nYou can use the range from dynamic offers to, for example, create a slider in your user interface (UI) that allows your user to select the financing amount. After the user confirms their selection, you can create a static offer for the selected amount.\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nYou must have an Adyen for Platforms integration that supports Capital.\n\n\nAPI credentials\nYou must have a Balance Platform API key (for example, ws[_123456]@BalancePlatform.[YourBalancePlatform]) to access the  Capital API.Your API credential must have the following roles: Balance Platform Capital Configuration roleBalance Platform Capital Grant Initiation role\n\n\nCapabilities\nMake sure that your user have the following capability: getGrantOffers\n\n\nLimitations\nRequests to the following endpoints are subject to rate limits in both Test and Live environments: \/dynamicOffers\/{dynamicOfferId}\/calculate: 120 requests per minute \/dynamicOffers\/{dynamicOfferId}\/grantOffer: 30 requests per minuteThe amount a user selects on your UI must be within the range available to this user. However, you can set a custom logic for amount increments within the range. For example, you can specify steps of EUR&nbsp;100 or EUR&nbsp;500.Each financing offer remains valid for seven days. After this period, a new offer is generated for an account holder if they still meet the qualification criteria. The range may differ from one offer to another.\n\n\nSetup steps\nBefore you begin, make sure: You followed our compliance guidelines for Capital when creating user interfaces, marketing materials, and other processes.You built a user interface that allows users to select their preferred financing amount from a range.\n\n\n\nHow it works\nThe process to get a financing offer through the dynamic offers flow is as follows:\n\nMake an API request to get the range of available financing for a specific account holder. Use information from the API response to present the offer in your UI. For example, you can build a slider that allows your users to select their preferred amount.\nAfter the user selects an amount, make an API request to calculate a preliminary offer. This returns an initial breakdown of costs and conditions for the selected financing amount.\nWhen the user confirms their selection, make an API request to create a static offer for the selected amount. This action generates a legally binding offer with a final breakdown of costs and conditions.\nGet updates when a new offer is created for your account holder.\n\nThe following sections provide more details about each step of integrating dynamic financing offers.\n1. Get the range of available financing\nTo get the financing range available for a specific user:\n\n\nMake a GET  \/dynamicOffers request including the following query parameters:\n\n\n\nParameter\nType\nRequired\nDescription\n\n\n\n\n accountHolderId\nString\n\nThe unique identifier of that the dynamic offer is for.\n\n\n financingType\nString\n\nThe type of financing that the offer is for. Currently, only businessFinancing is supported.\n\n\n\n Required  Conditionally required\nThe following code sample shows how to get the range of available financing for the account holder ID AH00000000000000000000001.\n\n\n\n\n\nIn the response, note the  dynamicOffers object with the following parameters:\n\n\n\nParameter\nDescription\n\n\n\n\n accountHolderId`\nThe unique identifier of the account holder that the dynamic offer is for.\n\n\n contractType\nThe contract type of the offer.\n\n\n expiresAt\nThe expiration date and time of the offer validity period.\n\n\n financingType\nThe type of financing that the offer is for. Currently, only businessFinancing is supported.\n\n\n id\nThe unique identifier of the dynamic financing offer.\n\n\n maximumAmount\nAn object containing the maximum amount of the financing offer, including both the value and the currency.\n\n\n minimumAmount\nAn object containing the minimum amount of the financing offer, including both the value and the currency.\n\n\n repayment\nAn object containing the details of the repayment configuration.\n\n\n repayment.term.estimatedDays\nThe estimated period for repaying the grant, in days.\n\n\n repayment.term.maximumDays\nThe maximum period for repaying the grant, in days.\n\n\n startsAt\nThe starting date and time of the offer validity period.\n\n\n\n\n\n\n\n\n2. Calculate a preliminary offer for a selected amount\nWhen a user selects a financing amount in your UI, for example, by moving a slider to a specific value, you must show preliminary repayment configurations. This includes daily repayment in basis points, applicable fees, repayment period, and offer validity period. The preliminary offer is for informational purposes only and cannot be used to initiate a grant.\nTo calculate a preliminary offer for the selected amount:\n\n\nMake a POST  \/dynamicOffers\/{dynamicOfferId}\/calculate request to calculate the repayment configuration for the selected financing offer. In the path, include the  id of the dynamic offer returned when you got the range of available financing.\n\nRequests to this endpoint are subject to rate limits. All requests to the endpoint, including those that result in failure, count toward the specified limit.\n\nTest environment: 120 requests per minute\nLive environment: 120 requests per minute\n\n\nAdditionally, specify the following parameters in your request body:\n\n\n\nParameter\nType\nRequired\nDescription\n\n\n\n\n amount.currency\nString\n\nThe three-character ISO currency code. This value must match the currency of the dynamic offer.\n\n\n amount.value\nInteger\n\nThe financing amount that the user selected, in minor units. The amount be within the range of the corresponding dynamic offer.\n\n\n\n Required  Conditionally required\n\n\n\n\n\nIn the response, note the parameters in the following table:\n\n\n\nParameter\nDescription\n\n\n\n\n accountHolderId\nThe unique identifier of the account holder that the dynamic offer is for.\n\n\n amount\nAn object containing offer currency and value, in minor units.\n\n\n contractType\nThe contract type of the offer.\n\n\n expiresAt\nThe expiration date and time of the offer validity period.\n\n\n fee\nAn object containing the fee currency and value, in minor units.\n\n\n repayment\nAn object containing the details of the repayment configuration.\n\n\n repayment.basisPoints\nThe repayment amount, in basis points, that is deducted daily from your user's incoming net volume.\n\n\n repayment.term.estimatedDays\nThe estimated period for repaying the grant, in days.\n\n\n repayment.term.maximumDays\nThe maximum period for repaying the grant, in days.\n\n\n repayment.threshold.amount\nAn object containing the details of the minimum threshold amount that your user must repay every 30-day period.\n\n\n startsAt\nThe starting date and time of the offer validity period.\n\n\n\n\n\n\n\n\n3. Create a static offer for a selected amount\nAfter the user selects a final amount from the dynamic offer, use this amount to create a static offer with definitive repayment configurations. This includes the fixed financing amount, daily repayment in basis points, applicable fees, repayment period, and offer validity period.\nThis is a formal, legally binding offer that must be provided for the user's review in your UI to comply with the user interface requirements for Capital.\nTo create a static offer for the selected amount:\n\n\nMake a POST  \/dynamicOffers\/{dynamicOfferId}\/grantOffer request. In the path, include the  id of the dynamic offer returned when you got the range of available financing.\n\nRequests to this endpoint are subject to rate limits. All requests to the endpoint, including those that result in failure, count toward the specified limit.\n\nTest environment: 30 requests per minute\nLive environment: 30 requests per minute\n\n\nAdditionally, specify the following parameters in your request body:\n\n\n\nParameter\nType\nRequired\nDescription\n\n\n\n\n amount.currency\nString\n\nThe three-character ISO currency code. This value must match the currency of the dynamic offer.\n\n\n amount.value\nInteger\n\nThe final financing amount that the user selected, in minor units. The amount be within the range of the corresponding dynamic offer.\n\n\n\n Required  Conditionally required\n\n\n\n\n\nIn the response, note the parameters in the following table. The  id  parameter represents a static offer and is required to configure a grant.\n\n\n\nParameter\nDescription\n\n\n\n\n accountHolderId\nThe unique identifier of the account holder that the dynamic offer is for.\n\n\n amount\nAn object containing offer currency and value, in minor units.\n\n\n contractType\nThe contract type of the offer.\n\n\n expiresAt\nThe expiration date and time of the offer validity period.\n\n\n fee\nAn object containing the fee currency and value, in minor units.\n\n\n id\nThe unique identifier of the static offer. Required to initiate a grant in the next step.\n\n\n repayment\nAn object containing the details of the repayment configuration.\n\n\n repayment.basisPoints\nThe repayment amount, in basis points, that is deducted daily from your user's incoming net volume.\n\n\n repayment.term.estimatedDays\nThe estimated period for repaying the grant, in days.\n\n\n repayment.term.maximumDays\nThe maximum period for repaying the grant, in days.\n\n\n repayment.threshold.amount\nAn object containing the details of the minimum threshold amount that your user must repay every 30-day period.\n\n\n startsAt\nThe starting date and time of the offer validity period.\n\n\n\n\n\n\n\n\n4. Get notified about an offer created\nYou can get updates every time a new offer is created for an account holder by subscribing to the following webhooks:\n\n balancePlatform.capital.dynamicOffer.created webhook: Notifies your server when a new dynamic offer is created for an account holder.\n balancePlatform.balanceAccountHolder.capitalOffer.created webhook: Notifies your server when a new static offer is created for an account holder.\n\n\n\n    \n        \n        \n    \n\n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Capital","lvl2":"Get financing offers","lvl3":"Dynamic financing offers"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/capital","lvl2":"https:\/\/docs.adyen.com\/pt\/capital\/get-grant-offers","lvl3":"\/pt\/capital\/get-grant-offers\/dynamic-offers"},"levels":4,"category":"","category_color":"","tags":["Dynamic","financing","offers"]}}
