{"title":"Show Terms of Service document","category":"default","creationDate":1777374480,"content":"<p>Before you can set up recurring top-ups, you must accept Adyen's Terms of Service for top-up contracts.<\/p>\n<p>The Terms of Service document must be accepted by an individual legal entity that represents a physical person. For organizations, the document must be accepted by an authorized signatory of the organization.<\/p>\n<p>For example:<\/p>\n<ul>\n<li>A cardholder accepts the document on their own behalf.<\/li>\n<li>The owner of a restaurant accepts the document on behalf of the legal entity that represents the business.\n<\/li>\n<\/ul><\/li>\n<\/ul>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements 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;\"> Adyen Issuing integration. <\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong><a href=\"\/development-resources\/api-credentials\/roles\/\">API credential roles<\/a><\/strong><\/td>\n<td style=\"text-align: left;\">Make sure that you have the credentials for the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/overview\" class=\" external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Legal Entity Management API<\/a> (in the format <strong>ws[123456]@Scope.Company[YourCompanyAccount]<\/strong>)<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">This workflow is only required if you are configuring top-ups using the API. If you are using the Customer Area, this is handled during the setup wizard.<br><br>Before you begin, make sure that you created the legal entity connected to the account holder. This is the same legal entity that accepts the Terms of Service document.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<p>To generate and accept the Terms of Service, follow these steps:<\/p>\n<ol>\n<li>Optionally, make an API request to <a href=\"#check-existing-acceptance\">check if your cardholder has already signed the Terms of Service<\/a>.<\/li>\n<li>Make an API request to <a href=\"#generate-document\">generate the Terms of Service document<\/a>.<\/li>\n<li><a href=\"#present-document\">Present the Terms of Service document<\/a> to your cardholder.<\/li>\n<li>Make an API request to <a href=\"#accept-tos\">confirm that your cardholder has accepted the Terms of Service<\/a>.<\/li>\n<\/ol>\n<h2 id=\"check-existing-acceptance\">Check the Terms of Service status<\/h2>\n<p>To see if your cardholder has already accepted the Terms of Service for top-up contracts:<\/p>\n<ol>\n<li>\n<p>Make a GET  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/get\/legalEntities\/(id)\/termsOfServiceAcceptanceInfos\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/legalEntities\/{id}\/termsOfServiceAcceptanceInfos<\/a> request with the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the main legal entity in the path. The main legal entity is the legal entity that accepts the Terms of Service. For sole proprietorships, this is the individual legal entity ID of the owner. For organizations, this is the ID of the organization.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Get Terms of Service information for a legal entity'\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/kyc-test.adyen.com\\\/lem\\\/v3\\\/legalEntities\\\/LE00000000000000000000001\\\/termsOfServiceAcceptanceInfos \\\\\\n-H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \\\\\\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>The response returns a <code>data<\/code> array. Each object in the array contains the details of a Terms of Service document that the legal entity has accepted.<\/p>\n<ul>\n<li><strong>If no terms have been accepted<\/strong>: The response returns an empty <code>data<\/code> array.<\/li>\n<li><strong>If terms have been accepted<\/strong>: Check the <code>data<\/code> array for an object where the <code>type<\/code> is set to <code>directDebit<\/code>. If this object is present, your cardholder has already accepted the Terms of Service for top-up contracts and you can skip the remaining steps.<\/li>\n<\/ul>\n<p>The response contains the following fields:<\/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\/legalentity\/latest\/get\/legalEntities\/_id_\/termsOfServiceAcceptanceInfos#responses-200-data-createdAt\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">createdAt<\/a><\/td>\n<td>The date the document was created.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/get\/legalEntities\/_id_\/termsOfServiceAcceptanceInfos#responses-200-data-id\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a><\/td>\n<td>The unique identifier of the accepted document.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/get\/legalEntities\/_id_\/termsOfServiceAcceptanceInfos#responses-200-data-acceptedBy\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">acceptedBy<\/a><\/td>\n<td>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the individual who accepted the terms of service.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/get\/legalEntities\/_id_\/termsOfServiceAcceptanceInfos#responses-200-data-acceptedFor\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">acceptedFor<\/a><\/td>\n<td>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the main legal entity.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/get\/legalEntities\/_id_\/termsOfServiceAcceptanceInfos#responses-200-data-type\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a><\/td>\n<td>The type of document based on the services and capabilities requested.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"data\\\": [\\n        {\\n            \\\"acceptedBy\\\": \\\"LE00000000000000000000002\\\",\\n            \\\"acceptedFor\\\": \\\"LE00000000000000000000001\\\",\\n            \\\"createdAt\\\": \\\"2022-12-05T13:36:58.212253Z\\\",\\n            \\\"id\\\": \\\"TOSA000AB00000000B2AAAB2BA0AA0\\\",\\n            \\\"type\\\": \\\"directDebit\\\"\\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=\"generate-document\">Generate the Terms of Service document<\/h2>\n<p>To generate the Terms of Service document:<\/p>\n<ol>\n<li>\n<p>Make a POST  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/legalEntities\/{id}\/termsOfService<\/a> request, specifying the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the main legal entity in the path. For sole proprietorships, this is the individual legal entity ID of the owner. For organizations, this is the ID of the organization.<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/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\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#request-type\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The type of document based on the services and capabilities requested.<br\/><br\/>Set this to <strong>directDebit<\/strong> for topup contracts.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#request-language\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">language<\/a><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The language used for the Terms of Service document, specified by the two letter <a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_ISO_639-1_codes\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">ISO 639-1<\/a> language code. Possible values: <ul><li><strong>en<\/strong> for English<\/li><li> <strong>fr<\/strong> for French<\/li><\/ul> <br><br> Note that French is only available for some integration types in certain countries\/regions. Reach out to your Adyen contact for more information.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#request-termsOfServiceDocumentFormat\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">termsOfServiceDocumentFormat<\/a><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td>The requested format for the Terms of Service document. Possilble values: <ul><li><strong>JSON<\/strong> (default)<\/li><li><strong>PDF<\/strong><\/li><li><strong>TXT<\/strong><\/li>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Generate the Terms of Service document'\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/kyc-test.adyen.com\\\/lem\\\/v3\\\/legalEntities\\\/LE00000000000000000000001\\\/termsOfService \\\\\\n-H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X POST \\\\\\n-d '{\\n   \\&quot;type\\&quot;: \\&quot;directDebit\\&quot;,\\n   \\&quot;language\\&quot;: \\&quot;en\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>The response contains the following fields:<\/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\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#responses-200-document\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">document<\/a><\/td>\n<td>The generated document in the Base64-encoded format. Present this to your cardholder in the <a href=\"#present-document\">next step<\/a>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#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 legal entity. For sole proprietorships, this is the individual legal entity ID of the owner. For organizations, this is the ID of the organization.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#responses-200-language\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">language<\/a><\/td>\n<td>The language of the document.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#responses-200-type\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a><\/td>\n<td>The type of document based on the services and capabilities requested.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#responses-200-termsOfServiceDocumentId\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">termsOfServiceDocumentId<\/a><\/td>\n<td>The unique identifier of the document. Use this when you confirm that your cardholder has <a href=\"#accept-tos\">accepted the Terms of Service<\/a>.<\/td>\n<\/tr>\n<tr>\n<td> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/(id)\/termsOfService#request-termsOfServiceDocumentFormat\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">termsOfServiceDocumentFormat<\/a><\/td>\n<td>The requested format for the Terms of Service document. Possilble values: <ul><li><strong>JSON<\/strong> (default)<\/li><li><strong>PDF<\/strong><\/li><li><strong>TXT<\/strong><\/li><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"notices yellow\">\n<p>Depending on your integration, your cardholder may need to accept more than one Terms of Service document. In this case, every required <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/_id_\/termsOfService#responses-200-document\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">document<\/a> and <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/_id_\/termsOfService#responses-200-termsOfServiceDocumentId\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">termsOfServiceDocumentId<\/a> is returned in the response.<\/p>\n<\/div>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"id\\\": \\\"LE00000000000000000000001\\\",\\n  \\\"type\\\": \\\"directDebit\\\",\\n  \\\"language\\\": \\\"en\\\",\\n  \\\"document\\\": \\\"termsOfServiceDocumentResponse\\\" ,\\n  \\\"termsOfServiceDocumentId\\\": \\\"abc123\\\",\\n  \\\"termsOfServiceDocumentFormat\\\": \\\"JSON\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"present-document\">Present the Terms of Service document<\/h2>\nYou need to ask your cardholder to review and accept the Terms of Service document. The process depends on the format you requested in the previous step:\n<ul>\n<li>Use <strong>JSON<\/strong> if you want to render the document directly in your UI using the Adyen Document Viewer.<\/li>\n<li>Use <strong>PDF<\/strong> or <strong>TXT<\/strong> for a simpler flow where your cardholder downloads and reviews the document.<\/li>\n<\/ul>\n\n<div id=\"tab4o1Xp\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Format: JSON&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;To present the document to your cardholder, you can use the Adyen Document Viewer to render the document on your website.&lt;\\\/p&gt;\\n&lt;p&gt;Before passing the document to the Adyen Document Viewer, you need to decode it. Use the following code to decode the document and pass it to the Document Viewer:&lt;\\\/p&gt;\\n&lt;pre&gt;&lt;code class=\\&quot;language-js\\&quot;&gt;const documentViewer = new AdyenDocumentViewer(&#039;#test&#039;);\\nconst document = JSON.parse(decodeURIComponent(escape(window.atob(termsOfServiceDocumentResponse.document))));\\ndocumentViewer.render(document);&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n\\n&lt;div id=\\&quot;tablfVXT\\&quot;&gt;\\n    &lt;div data-component-wrapper=\\&quot;tabs\\&quot;&gt;\\n        &lt;tabs\\n                        :items=\\&quot;[{&amp;quot;title&amp;quot;:&amp;quot;npm (Recommended)&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\n&amp;lt;p&amp;gt;Install the &amp;lt;a href=\\\\&amp;quot;https:\\\\\\\/\\\\\\\/www.npmjs.com\\\\\\\/package\\\\\\\/@adyen\\\\\\\/adyen-document-viewer\\\\&amp;quot; target=\\\\&amp;quot;_blank\\\\&amp;quot; rel=\\\\&amp;quot;nofollow noopener noreferrer\\\\&amp;quot; class=\\\\&amp;quot;external-link no-image\\\\&amp;quot;&amp;gt;Adyen Document Viewer package&amp;lt;\\\\\\\/a&amp;gt;:&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;pre&amp;gt;&amp;lt;code class=\\\\&amp;quot;language-bash\\\\&amp;quot;&amp;gt;npm install @adyen\\\\\\\/adyen-document-viewer --save&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/pre&amp;gt;\\\\n&amp;lt;p&amp;gt;Import the Adyen Document Viewer Node package into your application. You can add your own styling by overriding the rules in the CSS file.&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;pre&amp;gt;&amp;lt;code class=\\\\&amp;quot;language-js\\\\&amp;quot;&amp;gt;import AdyenDocumentViewer from &amp;#039;@adyen\\\\\\\/adyen-document-viewer&amp;#039;;\\\\nimport &amp;#039;@adyen\\\\\\\/adyen-document-viewer\\\\\\\/dist\\\\\\\/adyen-document-viewer.min.css&amp;#039;;&amp;lt;\\\\\\\/code&amp;gt;&amp;lt;\\\\\\\/pre&amp;gt;\\\\n&amp;quot;,&amp;quot;altTitle&amp;quot;:null,&amp;quot;oldTabId&amp;quot;:1,&amp;quot;relation&amp;quot;:&amp;quot;&amp;quot;},{&amp;quot;title&amp;quot;:&amp;quot;Embed script and stylesheet&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;\\\\n&amp;lt;p&amp;gt;Include the script and stylesheet to a .html file&amp;lt;\\\\\\\/p&amp;gt;\\\\n&amp;lt;div data-component-wrapper=\\\\&amp;quot;code-sample\\\\&amp;quot;&amp;gt;\\\\n    &amp;lt;code-sample :title=\\\\&amp;quot;&amp;#039;HTML&amp;#039;\\\\&amp;quot; :id=\\\\&amp;quot;&amp;#039;&amp;#039;\\\\&amp;quot; :code-data=&amp;#039;[{\\\\&amp;quot;language\\\\&amp;quot;:\\\\&amp;quot;html\\\\&amp;quot;,\\\\&amp;quot;tabTitle\\\\&amp;quot;:\\\\&amp;quot;\\\\&amp;quot;,\\\\&amp;quot;content\\\\&amp;quot;:\\\\&amp;quot;&amp;amp;lt;script src=\\\\\\\\\\\\&amp;quot;https:\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/unpkg.com\\\\\\\\\\\\\\\/@adyen\\\\\\\\\\\\\\\/adyen-document-viewer@^1.0.0\\\\\\\\\\\\&amp;quot;&amp;amp;gt;&amp;amp;lt;\\\\\\\\\\\\\\\/script&amp;amp;gt;\\\\\\\\n&amp;amp;lt;link rel=\\\\\\\\\\\\&amp;quot;stylesheet\\\\\\\\\\\\&amp;quot; href=\\\\\\\\\\\\&amp;quot;https:\\\\\\\\\\\\\\\/\\\\\\\\\\\\\\\/unpkg.com\\\\\\\\\\\\\\\/@adyen\\\\\\\\\\\\\\\/adyen-document-viewer@^1.0.0\\\\\\\\\\\\\\\/dist\\\\\\\\\\\\\\\/adyen-document-viewer.min.css\\\\\\\\\\\\&amp;quot;&amp;amp;gt;\\\\&amp;quot;}]&amp;#039; :enable-copy-link-to-code-block=\\\\&amp;quot;true\\\\&amp;quot; :code-sample-card-size=\\\\&amp;quot;&amp;#039;fullsize&amp;#039;\\\\&amp;quot;&amp;gt;&amp;lt;\\\\\\\/code-sample&amp;gt;\\\\n&amp;lt;\\\\\\\/div&amp;gt;\\\\n&amp;quot;,&amp;quot;altTitle&amp;quot;:null,&amp;quot;oldTabId&amp;quot;:1,&amp;quot;relation&amp;quot;:&amp;quot;&amp;quot;}]\\&quot;\\n            :should-update-when-url-changes=&#039;false&#039;&gt;\\n        &lt;\\\/tabs&gt;\\n    &lt;\\\/div&gt;\\n&lt;\\\/div&gt;\\n\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Format: PDF or TXT&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;In the response from the previous step, take the Base64-encoded data from the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/legalentity\\\/latest\\\/post\\\/legalEntities\\\/(id)\\\/termsOfService#responses-200-document\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;document&lt;\\\/a&gt;. Decode it and present it to your cardholder in your UI.&lt;\\\/p&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='false'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"accept-tos\">Confirm the Terms of Service acceptance<\/h2>\n<p>To confirm that your cardholder has accepted the Terms of Service:<\/p>\n<ol>\n<li>\n<p>Make a PATCH  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/(id)\/termsOfService\/(termsofservicedocumentid)\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/legalEntities\/{id}\/termsOfService\/termsOfServicedocumentid<\/a> request, specifying the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> of the main legal entity and the <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities\/_id_\/termsOfService#responses-200-termsOfServiceDocumentId\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">termsOfServiceDocumentId<\/a> of the document in the path. For sole proprietorships, include the legal entity ID of the owner in the path. For organizations, include the legal entity ID of the organization in the path.<\/p>\n<p>In the body of the request, specify the following:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parameter<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#request-acceptedBy\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">acceptedBy<\/a><\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>The individual legal entity  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> who accepts the Terms of Service.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#request-ipAddress\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ipAddress<\/a><\/td>\n<td><\/td>\n<td>The IP address of the individual accepting the Terms of Service.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This request populates the Terms of Service document with the data of the main legal entity. For sole proprietorships, this is the information for the individual legal entity of the owner. For organizations, this means the document contains both the data for the organization and the individual legal entity of the authorized signatory who accepted the document.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Accept Terms of Service document'\" :id=\"''\" :code-data=\"[{&quot;language&quot;:&quot;bash&quot;,&quot;tabTitle&quot;:&quot;&quot;,&quot;content&quot;:&quot;curl https:\\\/\\\/kyc-test.adyen.com\\\/lem\\\/v3\\\/legalEntities\\\/LE00000000000000000000001\\\/termsOfService\\\/abc123 \\\\\\n-H 'x-api-key: ADYEN_LEGAL_ENTITY_MANAGEMENT_API_KEY' \\\\\\n-H 'content-type: application\\\/json' \\\\\\n-X PATCH \\\\\\n-d '{\\n    \\&quot;acceptedBy\\&quot; : \\&quot;LE00000000000000000000002\\&quot;,\\n    \\&quot;ipAddress\\&quot; : \\&quot;127.0.0.1\\&quot;\\n}'&quot;}]\" :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>The response returns the following information.<\/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\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#responses-200-acceptedBy\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">acceptedBy<\/a><\/td>\n<td>The individual legal entity  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/post\/legalEntities#responses-200-id\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">id<\/a> who accepted the Terms of Service.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#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 accepted document.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#responses-200-ipAddress\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">ipAddress<\/a><\/td>\n<td>The IP address of the individual accepting the Terms of Service. Returned only if provided in the request.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#responses-200-language\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">language<\/a><\/td>\n<td>The language of the document.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#responses-200-termsOfServiceDocumentId\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">termsOfServiceDocumentId<\/a><\/td>\n<td>The unique identifier of the document.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/docs.adyen.com\/api-explorer\/legalentity\/latest\/patch\/legalEntities\/_id_\/termsOfService\/_termsofservicedocumentid_#responses-200-type\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">type<\/a><\/td>\n<td>The type of document based on the services and capabilities requested.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Terms of Service document accepted'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"acceptedBy\\\": \\\"LE00000000000000000000002\\\",\\n    \\\"id\\\": \\\"TOSA000AB00000000B2AAAB2BA0AA0\\\",\\n    \\\"ipAddress\\\": \\\"127.0.0.1\\\",\\n    \\\"language\\\": \\\"en\\\",\\n    \\\"termsOfServiceDocumentId\\\": \\\"abc123\\\",\\n    \\\"type\\\": \\\"directDebit\\\"\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>After receiving a successful response, confirm that the document is now correctly linked to the legal entity record. Follow the steps in <a href=\"#check-existing-acceptance\">Check the Terms of Service status<\/a> to verify that the <code>type<\/code> <strong>directDebit<\/strong> is now returned in the acceptance information.<\/p>\n<\/li>\n<\/ol>\n<h2>See also<\/h2>\n<div class=\"next-steps\" id=\"next-steps\" >\n<a href=\"\/issuing\/add-manage-funds\/top-ups\/create-recurring-top-ups\" class=\"next-steps__step\" style=\"width:29%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><h6 class=\"next-steps__title\">Create recurring top-ups<\/h6><p>Learn how to configure recurring top-ups for your balance accounts.<\/p><\/div><\/p><\/a><a href=\"\/issuing\/add-manage-funds\/top-ups\/manage-recurring-top-ups\" class=\"next-steps__step\" style=\"width:29%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><h6 class=\"next-steps__title\">Manage recurring top-ups<\/h6><p>Learn how to view, change, and delete recurring top-ups.<\/p><\/div><\/p><\/a><a href=\"\/issuing\/add-manage-funds\/top-ups\/top-up-webhooks\" class=\"next-steps__step\" style=\"width:29%;\" target=\"_self\"><p class=\"next-steps__body\"><div style=\"text-align: center;\"><h6 class=\"next-steps__title\">Top-up webhooks<\/h6><p>Stay updated about changes to the recurring top-ups on your platform.<\/p><\/div><\/p><\/a><\/div>\n","url":"https:\/\/docs.adyen.com\/issuing\/add-manage-funds\/top-ups\/sign-terms-of-service","articleFields":{"Menu":"Show Terms of Service document","description":"Get your cardholders to accept Adyen's Terms of Service","last_edit_on":"28-04-2026 13:08","parameters":{"directoryPath":"\/issuing","integrationType":"issuing"}},"algolia":{"url":"https:\/\/docs.adyen.com\/issuing\/add-manage-funds\/top-ups\/sign-terms-of-service","title":"Show Terms of Service document","content":"Before you can set up recurring top-ups, you must accept Adyen's Terms of Service for top-up contracts.\nThe Terms of Service document must be accepted by an individual legal entity that represents a physical person. For organizations, the document must be accepted by an authorized signatory of the organization.\nFor example:\n\nA cardholder accepts the document on their own behalf.\nThe owner of a restaurant accepts the document on behalf of the legal entity that represents the business.\n\n\n\nRequirements\nBefore you begin, take into account the following requirements and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\n Adyen Issuing integration. \n\n\nAPI credential roles\nMake sure that you have the credentials for the  Legal Entity Management API (in the format ws[123456]@Scope.Company[YourCompanyAccount])\n\n\nSetup steps\nThis workflow is only required if you are configuring top-ups using the API. If you are using the Customer Area, this is handled during the setup wizard.Before you begin, make sure that you created the legal entity connected to the account holder. This is the same legal entity that accepts the Terms of Service document.\n\n\n\nHow it works\nTo generate and accept the Terms of Service, follow these steps:\n\nOptionally, make an API request to check if your cardholder has already signed the Terms of Service.\nMake an API request to generate the Terms of Service document.\nPresent the Terms of Service document to your cardholder.\nMake an API request to confirm that your cardholder has accepted the Terms of Service.\n\nCheck the Terms of Service status\nTo see if your cardholder has already accepted the Terms of Service for top-up contracts:\n\n\nMake a GET  \/legalEntities\/{id}\/termsOfServiceAcceptanceInfos request with the  id of the main legal entity in the path. The main legal entity is the legal entity that accepts the Terms of Service. For sole proprietorships, this is the individual legal entity ID of the owner. For organizations, this is the ID of the organization.\n\n\n\n\n\nThe response returns a data array. Each object in the array contains the details of a Terms of Service document that the legal entity has accepted.\n\nIf no terms have been accepted: The response returns an empty data array.\nIf terms have been accepted: Check the data array for an object where the type is set to directDebit. If this object is present, your cardholder has already accepted the Terms of Service for top-up contracts and you can skip the remaining steps.\n\nThe response contains the following fields:\n\n\n\nParameter\nDescription\n\n\n\n\ncreatedAt\nThe date the document was created.\n\n\nid\nThe unique identifier of the accepted document.\n\n\nacceptedBy\nThe  id of the individual who accepted the terms of service.\n\n\nacceptedFor\nThe  id of the main legal entity.\n\n\ntype\nThe type of document based on the services and capabilities requested.\n\n\n\n\n\n\n\n\nGenerate the Terms of Service document\nTo generate the Terms of Service document:\n\n\nMake a POST  \/legalEntities\/{id}\/termsOfService request, specifying the  id of the main legal entity in the path. For sole proprietorships, this is the individual legal entity ID of the owner. For organizations, this is the ID of the organization.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\n type\n\nThe type of document based on the services and capabilities requested.Set this to directDebit for topup contracts.\n\n\n language\n\nThe language used for the Terms of Service document, specified by the two letter ISO 639-1 language code. Possible values: en for English fr for French  Note that French is only available for some integration types in certain countries\/regions. Reach out to your Adyen contact for more information.\n\n\n termsOfServiceDocumentFormat\n\nThe requested format for the Terms of Service document. Possilble values: JSON (default)PDFTXT.\n\n\n\n\n\n\n\n\nThe response contains the following fields:\n\n\n\nParameter\nDescription\n\n\n\n\n document\nThe generated document in the Base64-encoded format. Present this to your cardholder in the next step.\n\n\n id\nThe unique identifier of the legal entity. For sole proprietorships, this is the individual legal entity ID of the owner. For organizations, this is the ID of the organization.\n\n\n language\nThe language of the document.\n\n\n type\nThe type of document based on the services and capabilities requested.\n\n\n termsOfServiceDocumentId\nThe unique identifier of the document. Use this when you confirm that your cardholder has accepted the Terms of Service.\n\n\n termsOfServiceDocumentFormat\nThe requested format for the Terms of Service document. Possilble values: JSON (default)PDFTXT\n\n\n\n\nDepending on your integration, your cardholder may need to accept more than one Terms of Service document. In this case, every required document and termsOfServiceDocumentId is returned in the response.\n\n\n\n\n\n\nPresent the Terms of Service document\nYou need to ask your cardholder to review and accept the Terms of Service document. The process depends on the format you requested in the previous step:\n\nUse JSON if you want to render the document directly in your UI using the Adyen Document Viewer.\nUse PDF or TXT for a simpler flow where your cardholder downloads and reviews the document.\n\n\n\n    \n        \n        \n    \n\n\nConfirm the Terms of Service acceptance\nTo confirm that your cardholder has accepted the Terms of Service:\n\n\nMake a PATCH  \/legalEntities\/{id}\/termsOfService\/termsOfServicedocumentid request, specifying the  id of the main legal entity and the termsOfServiceDocumentId of the document in the path. For sole proprietorships, include the legal entity ID of the owner in the path. For organizations, include the legal entity ID of the organization in the path.\nIn the body of the request, specify the following:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nacceptedBy\n\nThe individual legal entity  id who accepts the Terms of Service.\n\n\nipAddress\n\nThe IP address of the individual accepting the Terms of Service.\n\n\n\nThis request populates the Terms of Service document with the data of the main legal entity. For sole proprietorships, this is the information for the individual legal entity of the owner. For organizations, this means the document contains both the data for the organization and the individual legal entity of the authorized signatory who accepted the document.\n\n\n\nThe response returns the following information.\n\n\n\nParameter\nDescription\n\n\n\n\nacceptedBy\nThe individual legal entity  id who accepted the Terms of Service.\n\n\nid\nThe unique identifier of the accepted document.\n\n\nipAddress\nThe IP address of the individual accepting the Terms of Service. Returned only if provided in the request.\n\n\nlanguage\nThe language of the document.\n\n\ntermsOfServiceDocumentId\nThe unique identifier of the document.\n\n\ntype\nThe type of document based on the services and capabilities requested.\n\n\n\n\n\n\n\n\nAfter receiving a successful response, confirm that the document is now correctly linked to the legal entity record. Follow the steps in Check the Terms of Service status to verify that the type directDebit is now returned in the acceptance information.\n\n\nSee also\n\nCreate recurring top-upsLearn how to configure recurring top-ups for your balance accounts.Manage recurring top-upsLearn how to view, change, and delete recurring top-ups.Top-up webhooksStay updated about changes to the recurring top-ups on your platform.\n","type":"page","locale":"en","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Adyen Issuing","lvl2":"Add and manage funds","lvl3":"Top up accounts","lvl4":"Show Terms of Service document"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/issuing","lvl2":"https:\/\/docs.adyen.com\/issuing\/add-manage-funds","lvl3":"https:\/\/docs.adyen.com\/issuing\/add-manage-funds\/top-ups","lvl4":"\/issuing\/add-manage-funds\/top-ups\/sign-terms-of-service"},"levels":5,"category":"Issuing","category_color":"green","tags":["Terms","Service","document"]}}
