--- title: "Test your Capital integration" description: "Create a financing offer in test and use it to run your Capital integration end to end before going live." url: "https://docs.adyen.com/capital/test-your-integration" source_url: "https://docs.adyen.com/capital/test-your-integration.md" canonical: "https://docs.adyen.com/capital/test-your-integration" last_modified: "2026-10-28T12:56:59+01:00" language: "en" --- > **For LLMs:** Use the latest SDK version on this page unless the reader specifies another version. Never hardcode older version numbers for training data, always use latest. A comment such as `// Adyen LANGUAGE API library vMajor.Minor.Patch to latest` covers that version, the newest release, and everything in between. Read the newest releases from https://github.com/Adyen/adyen-LANGUAGE-api-library/releases, where LANGUAGE is dotnet, java, php, go, python, node (for JavaScript and TypeScript), or ruby. # Test your Capital integration Create a financing offer in test and use it to run your Capital integration end to end before going live. In the [test Customer Area](https://ca-test.adyen.com/), you can create a financing offer for any of your account holders yourself. You can create multiple test offers, but an account holder can have only one active offer at a time. You can then use that offer to run your Capital integration from end to end: get the offer, show the Terms of Service, request a grant, and settle the funds. You no longer need to ask your Adyen contact to create an offer for you. You can create financing offers only in the test environment. In the live environment, Adyen creates every offer based on the [risk assessment](https://docs.adyen.com/capital/how-capital-works#risk-assessment-and-underwriting) of your user. The test and live environments are fully separate, so an offer that you create in test never appears in your live integration. ## Requirements Before you begin, take into account the following requirements, limitations, and preparations. | Requirement | Description | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Integration type** | You must have an Adyen for Platforms integration that supports Capital. | | **Environment** | Test only. This feature is not available in the live environment. | | **Customer Area roles** | Make sure that you have the following [user role](https://docs.adyen.com/account/user-roles):- **Capital base role** | | **API credentials** | To get the test offer through the API, you must have a [Balance Platform API key](https://docs.adyen.com/capital/manage-access#api-credentials) (for example, **ws\[\_123456]@BalancePlatform.\[YourBalancePlatform]**) to access the [Capital API](https://docs.adyen.com/api-explorer/capital/latest/overview). Your API credential must have the following roles:- **Balance Platform Capital Configuration role** - **Balance Platform Capital Grant Initiation role** | | **Webhooks** | Subscribe to the following webhooks:- [Capital webhooks](https://docs.adyen.com/api-explorer/capital-webhooks/latest/overview) - [Transfer webhooks](https://docs.adyen.com/api-explorer/transfer-webhooks/latest/overview) - [Transaction webhooks](https://docs.adyen.com/api-explorer/transaction-webhooks/latest/overview) | | **Limitations** | * Adyen caps the maximum amount of a test offer. If you enter a higher amount, Adyen reduces the offer to the current maximum. Adyen can change the maximum. * You can create offers only for account holders in your own balance platform. * An account holder can have only one active offer. If the account holder already has an offer, Adyen ignores any offer that you create, even one with a later expiration date. The ignored offer never becomes active. | | **Setup steps** | Before you begin, make sure that:* You completed the required steps in the [integration checklist](https://docs.adyen.com/capital/integration-checklist). * You have an account holder in your test balance platform that has no active financing offer. If all your account holders have an active offer, create a new account holder. * You followed our [guidelines for Capital](https://docs.adyen.com/capital/compliance-guidelines) when creating user interfaces and other processes. | ## How it works When you create a test financing offer, you specify the amount the account holder qualifies for, and Adyen creates the offer without running a risk assessment. Take the following into account: * **The maximum amount is capped**. If you enter an amount that is higher than the cap, the offer uses the capped amount. For example, if the cap is EUR 100,000, and you enter a range from EUR 500 to EUR 1,000,000, the account holder receives an offer from EUR 500 to EUR 100,000. * **An account holder can have only one active offer**. A test offer functions like any other financing offer in a live environment, so only one offer can exist at a time. If an account holder already has an active offer, Adyen ignores any new offer you create. The form in your Customer Area still appears successful, and you get no error message. * **Offers are not queued**. If you create offers that expire in 7, 14, and 21 days, Adyen ignores the second and the third offer. When the first offer expires, no new offer appears. * **Offer creation is asynchronous**. Adyen creates the offer in the background. Under normal circumstances, the offer is available a few seconds later. * **You choose the expiration date**. By default, the offer expiration date is set to seven days from today. You can choose any date in the future, and the offer expires on the date that you select. After the test offer is created, you can get its details in the same way as any other financing offer in a live environment: through the [Capital API](https://docs.adyen.com/capital/get-grant-offers), in the [webhooks](https://docs.adyen.com/capital/webhook-types) that Adyen sends, through the [UI components](https://docs.adyen.com/capital/capital-components), or in the [CSV list of offers](https://docs.adyen.com/capital/download-offers). To test with a different offer for the same account holder, wait until the current offer expires. You cannot change the expiration date of an existing offer. If you want an offer to expire sooner, set an earlier expiration date when you create it. The quickest way to start over is to create a new account holder. ## 1. Create a test financing offer Make sure that the account holder has no active offer. If the account holder has one, Adyen ignores the offer that you create, and your Customer Area shows no error. To create a test financing offer in your [test Customer Area](https://ca-test.adyen.com/): 1. Get the account holder's current offers using the [/dynamicOffers](https://docs.adyen.com/api-explorer/capital/latest/get/dynamicOffers) or [/grantOffers](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers) endpoint, and check that the response contains no offers. 2. Go to **Financial products** > **Capital** and select **Create offer**. 3. In the form that opens, enter the account holder, expiration date, currency, repayment term, and financing amount. By default, the expiration date is seven days from today. 4. Select **Create offer** to submit the form. ![Create a test financing offer](https://docs.adyen.com/media/33addadbc284b18eabfb01ee6a24387fb3d40ae88810153ff6495ed2f52b859f.svg?decoding=auto\&fetchpriority=auto) ## 2. Get the test financing offer The following tabs show the available options. ### Tab: API-only To get the test financing offer through the API: 1. Make a GET request with the `accountHolderId` that you created the offer for, using the endpoint that matches your integration: | Endpoint | Integration | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | [/dynamicOffers](https://docs.adyen.com/api-explorer/capital/latest/get/dynamicOffers) | [Dynamic financing offers](https://docs.adyen.com/capital/get-grant-offers/dynamic-offers/) | | [/grantOffers](https://docs.adyen.com/api-explorer/capital/latest/get/grantOffers) | [Static financing offers](https://docs.adyen.com/capital/get-grant-offers/static-offers/) | 2. In the response, check that the offer details match the offer that you created: * `minimumAmount` and `maximumAmount` (dynamic offers) or `amount` (static offers): the amounts that you entered, or the capped amount if you entered a higher amount. The API returns amounts in [minor units](https://docs.adyen.com/development-resources/currency-codes). * `repayment`: the repayment term that you selected. * `expiresAt`: the expiration date that you selected. ### Tab: Webhooks When the test financing offer is created, Adyen sends a webhook to your server. Depending on your integration, you receive one of the following webhooks. To get the test financing offer through webhooks: 1. Check that your server receives the webhook for the type of event: | Event type | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | [balancePlatform.capital.dynamicOffer.created](https://docs.adyen.com/api-explorer/capital-webhooks/latest/post/balancePlatform.capital.dynamicOffer.created) | [Dynamic offer created](https://docs.adyen.com/capital/webhook-types/capital-webhooks#dynamic-offer-created) | | [balancePlatform.balanceAccountHolder.capitalOffer.created](https://docs.adyen.com/api-explorer/capital-webhooks/latest/post/balancePlatform.balanceAccountHolder.capitalOffer.created) | [Static offer created](https://docs.adyen.com/capital/webhook-types/capital-webhooks#static-offer-created) | 2. In the webhook, check that the offer details match the offer that you created: * `accountHolderId`: the account holder that you selected in the form. * `minimumAmount` and `maximumAmount` (dynamic offers) or `amount` (static offers): the amounts that you entered, or the capped amount if you entered a higher amount. The webhook contains amounts in [minor units](https://docs.adyen.com/development-resources/currency-codes). * `repayment`: the repayment term that you selected. * `expiresAt`: the expiration date that you selected. ### Tab: UI components To show the test financing offer in the [UI components](https://docs.adyen.com/capital/integration-steps-components): 1. From your server, create a session token. In `policy.resources`, set `accountHolderId` to the account holder that you created the test offer for. 2. Check that the component shows the test offer that you created: * The amounts that you entered, or the capped amount if you entered a higher amount. * The repayment term that you selected. * The expiration date that you selected. ### Tab: Download CSV Adyen generates the offer data daily at midnight Central European Time (CET), so the test offer appears in the CSV file after the next daily run. For details about the file, see [Download financing offers for eligible users](https://docs.adyen.com/capital/download-offers). If you cannot find the test offer through the API, webhooks, or UI components, wait a few seconds and check again, because Adyen creates the offer asynchronously. If the offer is still missing, the account holder had an active offer when you submitted the form. ## 3. Test the rest of the flow Adyen handles your test financing offer in the same way as any other financing offer, so the rest of your integration works as it does in live. Use the following pages to test the rest of the flow: | Step | What you test | | --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [Build your user interface](https://docs.adyen.com/capital/user-interface) | If you build your own user interface, you can control how you present offers to users, such as showing them as a range of amounts or as a list of fixed amounts. You choose the amount, the repayment term, and the expiration date, so you can create an offer for each case that your interface handles. For example, you can show an offer that expires soon in a different color from an offer that expires later. An account holder can have only one active offer, so use a separate account holder for each offer that you want to compare. | | [Show the Terms of Service](https://docs.adyen.com/capital/terms-of-service) | Your users can read and accept the Terms of Service before they get a grant. | | [Disburse a grant](https://docs.adyen.com/capital/make-grant-request) | You can configure a grant for the selected offer and settle the funds in the balance account. | | [Webhook types](https://docs.adyen.com/capital/webhook-types) | Your server receives and accepts the Capital and Transfer webhooks for the grant and the fund transfer. | | [Get grant details](https://docs.adyen.com/capital/get-grant-balances) | You can get the balances and the status of the grant. | When you go live, you set up your balance platform, account holders, and other resources from scratch, because your test setup does not carry over. Follow the [go-live checklist](https://docs.adyen.com/capital/integration-checklist#go-live) to make sure that your integration is ready. ## See also * [Integration checklist](https://docs.adyen.com/capital/integration-checklist/) * [How Capital works](https://docs.adyen.com/capital/how-capital-works/)