{"title":"Skins for Hosted Payment Pages","category":"default","creationDate":1776961627,"content":"<div class=\"sc-notice warning\"><div>\n<p><strong>Hosted Payment Pages are no longer available<\/strong><\/p>\n<p>To accept payments through an Adyen-hosted page, use our <a href=\"\/pt\/online-payments\/build-your-integration\/sessions-flow?platform=Web&amp;integration=Hosted%2BCheckout\">Hosted Checkout<\/a>.<\/p>\n<p>This page is for the classic Hosted Payment Pages (HPP) integration, which has reached end-of-life.  We are no longer processing transactions though HPP.<\/p>\n<\/div><\/div>\n<p>Skin is an interface overlay that is applied to the Adyen Hosted Payment Page (HPP) to customize it according to your brand guidelines and create a seamless consumer checkout experience. The skin comprises a set of custom HTML\/JavaScript fragments, images, and CSS.<\/p>\n<p>You may create multiple skins to accommodate testing requirements or to target a specific type of device or application, such as a mobile phone browser or point-of-sale terminal.\u00a0<\/p>\n<p>The skin provides you with the ability to determine which payment methods are offered by default and in what order. Minimum and maximum transaction amounts per payment method, including a payment method-specific surcharge, can also be specified.<\/p>\n<p>Skins are not restricted to a single merchant account: if you have multiple merchant accounts associated with your company account, you may use the same skin to process payments for each account. Likewise, you may have multiple skins processing payments for a single merchant account. Processing of multiple accounts is usually due to reconciliation or accounting requirements, which are not covered in this section.<\/p>\n<h2 id=\"managing-skins-in-ca\">Managing skins in CA<\/h2>\n<div class=\"sc-notice note\"><div>\n<p>You can only access skin management from the test platform.<\/p>\n<\/div><\/div>\n<p>You can create, edit, upload, test, and publish your skins\u00a0in your\u00a0<a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>\u00a0&gt; <strong>Account<\/strong> &gt; <strong>Skins<\/strong>.<\/p>\n<p>The\u00a0<strong>List<\/strong>\u00a0tab identifies all the skins that have been created and\u00a0associated with the company or merchant account:<\/p>\n<ol>\n<li>Click the\u00a0<strong>New\u00a0<\/strong>tab\u00a0and follow the instructions\u00a0Configuration\u00a0section. You may further customize the skin by manipulating the\u00a0<a href=\"\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/skin\/customizing\">Skin files<\/a>\u00a0directly.<\/li>\n<li>You can edit a skin by clicking the skin code on the\u00a0<strong>List<\/strong>\u00a0tab. This tab includes the\u00a0<strong>Edit skin configuration<\/strong>\u00a0screen and populates the values entered while creating the Skin. The fields are editable if you set a shared secret, the input field is masked showing \"****\" rather than clear text.<\/li>\n<li>After you have created a skin, you may download its files to edit them directly on your machine. For this, click the arrow pointing down in the\u00a0<strong>Download<\/strong>\u00a0column; the system shows the skin code, the description, and the file version for confirmation. Then click the\u00a0<strong>Download<\/strong>\u00a0button to proceed with the download.<\/li>\n<li>After you have modified the skin files and saved it in a ZIP file, you may\u00a0upload it to the TEST system to combine it with the\u00a0current skin settings.<\/li>\n<li>If\u00a0skin is no longer required, you may delete it; the system shows the skin code, the description, and the file version for confirmation. Click the\u00a0<strong>Remove<\/strong>\u00a0button to proceed.<\/li>\n<\/ol>\n<h2 id=\"configuration\">Configuration<\/h2>\n<p>A skin is identified by a unique combination of eight digits and letters known as the\u00a0skin code. It is a system-generated field; in the rare instance (for example when the randomly generated skin code contains an undesirable combination of characters) you may generate a new skin code by clicking the\u00a0<strong>New<\/strong>\u00a0tab again. Because a new skin is not saved until the<strong>\u00a0Save Skin to Test\u00a0<\/strong>button is clicked, you can safely repeat this a number of times.<\/p>\n<p>When creating a skin, you are prompted to specify the following skin properties. You require the details for the LIVE environment when publishing the skin to LIVE, but not for initial testing within the TEST environment.<\/p>\n<ul>\n<li>\n<p><strong>Description:\u00a0<\/strong>A description of your skin, which is useful to easily identify it (in case you have multiple skins).<\/p>\n<\/li>\n<li>\n<p><strong>Account(s):\u00a0<\/strong>The merchant account(s), which should be able to process payments using this skin.<\/p>\n<\/li>\n<li>\n<p><strong>HMAC Keys:\u00a0<\/strong>Specify the HMAC Key for each environment.\u00a0The key is used to compute the merchant signature. You cannot use the same Key for both the TEST and LIVE environment.<\/p>\n<\/li>\n<li>\n<p><strong>Result URLs\u00a0<\/strong>or<strong>\u00a0Continue-to URLs:\u00a0<\/strong>The Result URL is the URL where you host your payment result page. Customers are navigated to this address after they complete the payment. We append parameters to the Result URL to inform you of the status of the payment. Although not recommended it is possible to override the Result URL on a per-payment basis. If the value of the Result URL is not set, and if the resultURL parameter value is not passed with the Payment Request, the default Adyen result page is used to display the payment result.\u00a0<br \/>\nThe\u00a0<strong>Continue-to<\/strong>\u00a0URL is only applicable if you use the default Adyen result page to display the payment result to the customer. When the customer has seen the payment result, clicking the\u00a0<strong>Continue<\/strong>\u00a0button navigates them to this URL.\u00a0<br \/>\nNote that the payment status parameters are not appended to the\u00a0<strong>Continue-to<\/strong>\u00a0URL.<\/p>\n<\/li>\n<\/ul>\n<h3 id=\"skin-options\">Skin options<\/h3>\n<p>Click the\u00a0<strong>Skin Options\u00a0<\/strong>to reveal less commonly used skin options:<\/p>\n<ul>\n<li><strong>Use an inline frame for VbV and MSC 3-D Secure interaction:\u00a0<\/strong>For 3D Secure\u00a0payments, a 3D window is\u00a0iframed\u00a0within the HPP.<\/li>\n<li><strong>Use deprecated back-button behavior:\u00a0<\/strong>The standard behavior, when the consumer clicks the previous button on the HPP, is to redirect the shopper to the resultURL with authResult=cancelled. This option performs the action browser minus 1, taking the shopper back to the previous page.<\/li>\n<li><strong>ShopperInteraction for this Skin:<\/strong> We\u00a0recommend that this option remains set to\u00a0<strong>Unset<\/strong>, this ensures that the system selects the correct shopper interaction to use.<\/li>\n<li><strong>Support partial payments:\u00a0<\/strong>Enable partial payment for\u00a0gift cards. This means that a shopper can pay a part of the transaction amount with their\u00a0gift card, the shopper can pay the remaining amount with\u00a0the other\u00a0payment method.<\/li>\n<li><strong>Billing Address Fields (AVS):\u00a0<\/strong>Shows the billing address input fields on the HPP for credit card payments. These are used for AVS (address verification) in the UK, US, and Canada if available. This data can be pre-populated.<\/li>\n<li><strong>Show extra costs\/discount:\u00a0<\/strong>Adyen provides the ability to set a surcharge or discount per payment method. This option determines how the extra cost or discount is shown on the payment method selection screen.\u00a0<strong>Cost<\/strong>\u00a0shows the extra cost (or discount) itself, e.g. \"EUR 0.50 + 3.50%\", or \"3.50%\".\u00a0<strong>Value<\/strong>\u00a0shows the calculated cost value, e.g. \"EUR 4.50\".<\/li>\n<li>\n<p><strong>Break out of frame:\u00a0<\/strong>While\u00a0implementing an iFrame\u00a0solution,\u00a0while supporting it note that not all payment methods support iFrames, an example is iDEAL.<br \/>\nThis setting provides you with three options:<\/p>\n<ul>\n<li>\n<p>Selecting\u00a0<strong>No<\/strong>\u00a0disables breaking out of iFrames.<\/p>\n<\/li>\n<li>\n<p>Selecting the <strong>Same\u00a0window<em>\u00a0<\/em><\/strong>opens the redirect page in the same window.<\/p>\n<\/li>\n<li>\n<p>Selecting\u00a0<strong>New Popup<\/strong>\u00a0results in the payment method redirect being opened within a popup screen. After the shopper completes the payment flow, the popup closes, and the session continues within the iFrame.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div class=\"sc-notice note\"><div>\n<p>The <strong>New Popup<\/strong> option is only available for a limited set of payment methods.<\/p>\n<\/div><\/div>\n<h3 id=\"oneclick-options\">OneClick options<\/h3>\n<ul>\n<li>\n<p><strong>Use new OneClick layout:\u00a0<\/strong>After enabling this option, the OneClick values display at the payment method itself, instead of at the top of the page. Note that not all payment methods currently support the OneClick functionality.<\/p>\n<\/li>\n<li>\n<p><strong>OneClick Configuration:\u00a0<\/strong>Configure the payment methods to display\u00a0<strong>Store details<\/strong>\u00a0options to store the details for OneClick payments.<\/p>\n<\/li>\n<\/ul>\n<h3 id=\"airline-specific-options\">Airline specific options<\/h3>\n<ul>\n<li><strong>Show airline data on payment pages:\u00a0<\/strong>Shows the airline data fields on the HPP.<\/li>\n<li><strong>Show airline fields on\u00a0callcenter\u00a0page<\/strong>:\u00a0Shows the airline data fields on the\u00a0callcenter\u00a0page.<\/li>\n<\/ul>\n<h3 id=\"pos-specific-options\">POS specific options<\/h3>\n<p><strong>Show POS fields on\u00a0callcenter\u00a0page:\u00a0<\/strong>Shows the POS data fields on the\u00a0callcenter\u00a0page.<\/p>\n<h2 id=\"extra-options\">Extra options<\/h2>\n<p>Some extra options that you can configure:<\/p>\n<p><strong>Payment Methods:\u00a0<\/strong>Payment methods configuration gives you control over the payment methods to be shown by default, the order in which they are shown, the minimum\/maximum amounts that you want to accept per payment method, and to charge a surcharge per payment method.<\/p>\n<p>You can add additional support for countries\/regions for any payment method in the test environment as:<\/p>\n<ol>\n<li>Go to\u00a0<a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>\u00a0&gt; <strong>Account<\/strong> &gt;\u00a0<strong>Skins<\/strong> and click on the name of the skin you are using.<\/li>\n<li>Edit the payment method.<\/li>\n<li>Under the options column, click\u00a0<strong><img alt=\"\" src=\"\/user\/pages\/docs\/02.online-payments\/60.classic-integrations\/04.hosted-payment-pages\/01.skin\/skins-edit-icon.png\" \/><\/strong>for the payment method you want to edit.<\/li>\n<li>Select\u00a0<strong>Overwrite available countries<\/strong>.<\/li>\n<li>Select the country\/region in the <strong>Deselected countries<\/strong> list.<\/li>\n<li>Click <strong><img alt=\"\" src=\"\/user\/pages\/docs\/02.online-payments\/60.classic-integrations\/04.hosted-payment-pages\/01.skin\/skins-arrow-icon.png\" \/><\/strong>\u00a0to add it to <strong>Selected countries<\/strong>.<\/li>\n<li>Click <strong>Save changes<\/strong>.<\/li>\n<li>Publish the skin to live.<\/li>\n<\/ol>\n<div class=\"sc-notice info\"><div>\n<p>The added countries\/regions may not be visible in the <strong>Settings<\/strong> &gt; <strong>Payment methods<\/strong> &gt; <strong>Available countries<\/strong> but they are available.<\/p>\n<\/div><\/div>\n<p><strong>Custom Fields:\u00a0<\/strong>Custom fields are a powerful feature of the payment pages that allow you to add form fields to the HPP. These are sent to you before final payment submission for approval; you may use this feature to capture any additional data or permissions that you may require, such as collecting shipping data, forcing the shopper to accept terms and conditions, or checking a validation code.<\/p>\n<p>Any form field, whose name attribute is prefixed with \"customfields\", is considered to be a custom field. Custom fields are added as HTML to the page in an include file which is named customfields.txt (or a localized variant, e.g. customfields_NL.txt).<\/p>\n<pre><code class=\"language-raw\">    &lt;table id=\"basetable\"&gt;\n       &lt;tr&gt;\n           &lt;td&gt;\n               &lt;div class=\"fieldDiv\"&gt;\n                  &lt;input type=\"checkbox\" name=\"customfields.subscribe\" id=\"customfields.subscribe\" value=\"true\" CHECKED\/&gt;Next&lt;br \/&gt;\n                  &lt;input type=\"name\" name=\"customfields.email\" id=\"customfields.email\" value=\"\"\/&gt; Email address&lt;br \/&gt;\n               &lt;\/div&gt;\n           &lt;\/td&gt;\n       &lt;\/tr&gt;\n    &lt;\/table&gt;<\/code><\/pre>\n<p>The contents of the custom fields are sent as a SOAP Web Service request to a URL of your choice as configured using the Custom Fields link on the Edit Skin page. The following is a SOAP example of such request:<\/p>\n<pre><code class=\"language-raw\">    &lt;soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema -instance\"&gt;\n      &lt;soap:Body&gt;\n        &lt;check xmlns=\"http:\/\/customfields.services.adyen.com\"&gt;\n          &lt;Request&gt;\n            &lt;customFields&gt;\n              &lt;CustomField&gt;\n                 &lt;name&gt;subscribe&lt;\/name&gt;\n                 &lt;value&gt;true&lt;\/value&gt;\n              &lt;\/CustomField&gt;\n              &lt;CustomField&gt;\n                 &lt;name&gt;VAT&lt;\/name&gt;\n                 &lt;value&gt;NLXXXB01&lt;\/value&gt;\n              &lt;\/CustomField&gt;\n            &lt;\/customFields&gt;\n            &lt;merchantAccount&gt;YourMerchantAccount&lt;\/merchantAccount&gt;\n            &lt;merchantReference&gt;YourMerchantReference&lt;\/merchantReference&gt;\n             &lt;sessionFields&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;skinCode&lt;\/name&gt;\n                 &lt;value&gt;wjCP5yTj&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;countryCode&lt;\/name&gt;\n                 &lt;value&gt;NL&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;paymentAmount&lt;\/name&gt;\n                 &lt;value&gt;550&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;currencyCode&lt;\/name&gt;\n                 &lt;value&gt;EUR&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;shopperEmail&lt;\/name&gt;\n                 &lt;value&gt;test@test.com&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;shopperReference&lt;\/name&gt;\n                 &lt;value&gt;YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n            &lt;\/sessionFields&gt;\n          &lt;\/Request&gt;\n        &lt;\/check&gt;\n      &lt;\/soap:Body&gt;\n    &lt;\/soap:Envelope&gt;<\/code><\/pre>\n<p>If you respond with\u00a0<strong>accepted<\/strong>\u00a0the payment is allowed to continue. If not, you can specify which fields failed validation and the validation messages to display. If you need to store this data you must do so at this point, the data cannot be sent to you via the Notification server. The following is an example of a SOAP response:<\/p>\n<pre><code class=\"language-raw\">    &lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:ns1=\"http:\/\/www.customfields.services.adyen.com\"&gt;\n      &lt;SOAP-ENV:Body&gt;\n        &lt;ns1:checkResponse&gt;\n          &lt;ns1:response&gt;\n            &lt;ns1:customFields\/&gt;\n            &lt;ns1:response&gt;[accepted]&lt;\/ns1:response&gt;\n            &lt;ns1:sessionFields\/&gt;\n          &lt;\/ns1:response&gt;\n        &lt;\/ns1:checkResponse&gt;\n      &lt;\/SOAP-ENV:Body&gt;\n    &lt;\/SOAP-ENV:Envelope&gt;<\/code><\/pre>\n<p><strong>Download Skin:\u00a0<\/strong>Navigates you to the Download Skin page.<\/p>\n<p><strong>Remove Skin:\u00a0<\/strong>Navigates\u00a0you to the Remove Skin page.<\/p>\n<p><strong>Edit Language Files:<\/strong> <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a><strong>\u00a0<\/strong>offers a visual interface to view and modify the text strings in the Adyen standard language set. You can add the languages that are not part of the standard using the\u00a0<a href=\"\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/skin\/creating-and-editing-translations\">Skin resource file<\/a>\u00a0method.<\/p>\n<p>With the Skin selected click the\u00a0<strong>Edit Language Files**<em>\u00a0<\/em>link in the\u00a0<\/strong>Extra Options**\u00a0section. A table shows the following fields:<\/p>\n<ul>\n<li>\n<p><strong>Key:\u00a0<\/strong>A unique identifier for the text string (e.g. button.continue).<\/p>\n<\/li>\n<li>\n<p><strong>Adyen\u00a0default:\u00a0<\/strong>The text string Adyen\u00a0associates\u00a0with the key (e.g. Continue).<\/p>\n<\/li>\n<li>\n<p><strong>Merchant default:\u00a0<\/strong>The text string you associate with the key (if set); this overrides the Adyen default if set.<\/p>\n<\/li>\n<\/ul>\n<p>Set the merchant default\u00a0value for each key you want to change the text from the Adyen default. Click the\u00a0<strong>Save<\/strong>\u00a0button. It is important to ensure that you save every 5 minutes to avoid your session from timing out, resulting in a loss of any changes that have not been saved. Every time you click\u00a0<strong>Save<\/strong>, a new version of the skin is created.<\/p>\n<p>For the -default- language the\u00a0res\/resource.properties file in the Skin is created\/updated each time you save.<\/p>\n<p>To edit another language, choose its shopper locale from the Language drop-down list. A table shows the following fields:<\/p>\n<ul>\n<li>\n<p><strong>Key:\u00a0<\/strong>A unique identifier for the text string (e.g. button.continue).<\/p>\n<\/li>\n<li>\n<p><strong>Adyen\u00a0default:\u00a0<\/strong>The text string Adyen\u00a0associates\u00a0with the key (e.g. Continue).<\/p>\n<\/li>\n<li>\n<p><strong>Adyen\u00a0[language] (e.g.\u00a0adyen\u00a0nl):\u00a0<\/strong>The text string Adyen\u00a0associates\u00a0with the key for the language chosen (e.g. Continue).<\/p>\n<\/li>\n<li>\n<p><strong>Merchant [language] (e.g. merchant\u00a0nl):\u00a0<\/strong>The text string you associate with the key for the language chosen (if set). This overrides the Adyen default if set.<\/p>\n<\/li>\n<\/ul>\n<p>For each\u00a0language,\u00a0you set merchant values for, a file named resources_[language].properties\u00a0is created in the\u00a0<strong>res<\/strong>\u00a0directory of the skin. For example, if the shopper locale =\u00a0nl, a file called resources_nl.properties in the res directory is created.\u00a0Language translations for new keys that Adyen introduces may not be immediately available in all languages.<\/p>\n<p>After you have completed editing the text string, be sure to download the latest version of the skin to your PC before making any further changes. This ensures you have the updated skin resource files.<\/p>\n<h2 id=\"testing\">Testing<\/h2>\n<p>It is possible to send a payment request to the HPP directly from the <strong>Test<\/strong> tab in the <strong>Skin menu<\/strong>. This is a very useful tool to quickly test the correct operation of the skin and allows you to submit payments to the system before completing your integration with the HPP.<\/p>\n<ol>\n<li>Create a\u00a0skin.<\/li>\n<li>Perform test transactions with the different payment methods that you want to offer to your customers. Initiate these tests should from your web shop to our test\u00a0platform.<\/li>\n<li>Test the modifications:\n<ul>\n<li>Cancellations.<\/li>\n<li>Captures (manually inclusive).<\/li>\n<li>Refunds (partial amount and complete amount).<\/li>\n<li>A subscription to a daily report has been enabled and reconciled. For\u00a0example:\u00a0Payment accounting report.<\/li>\n<\/ul><\/li>\n<li>Successfully test webhooks for each of the following event codes:\n<ul>\n<li>AUTHORISATION<\/li>\n<li>CANCELLATION<\/li>\n<li>REPORT_AVAILABLE<\/li>\n<li>CAPTURE<\/li>\n<li>REFUND<\/li>\n<\/ul><\/li>\n<\/ol>\n<div class=\"sc-notice info\"><div>\n<p>Below are some recommendations that we would like you to keep in mind, to ensure a better experience using our services:<\/p>\n<ol>\n<li>The country code parameter is being sent in your payment requests. It forces showing payment methods for the related country\/region, instead of detecting the country\/region from the shopper's IP.<\/li>\n<li>The merchant reference is controlled on your side, avoiding re-using the same one for several payments.<\/li>\n<li>By default, <a href=\"\/pt\/account\/notification-center\">Customer Area notifications<\/a> are configured for any user.<\/li>\n<\/ol>\n<\/div><\/div>\n<p>This page also shows you the versions of the skin that are currently deployed on the TEST and LIVE HPP servers. There is always a delay between saving a skin or publishing it to the Live server. When the Latest Version value corresponds with the Currently on Test or Currently on a\u00a0live version, all the latest changes are deployed to that system.<\/p>\n<p>The test functionality is also useful in debugging any problems you may have with your integration since it produces a complete payment setup form against which you can compare your implementation.\u00a0<\/p>","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/skin","articleFields":{"id":"24217091","type":"page","_expandable":{"operations":""},"status":"current","parameters":{"anchor_new":"<a href=\"\/online-payments\">Online payments<\/a>","parent_page":"classic Hosted Payment Pages (HPP)"},"feedback_component":true},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/skin","title":"Skins for Hosted Payment Pages","content":"\nHosted Payment Pages are no longer available\nTo accept payments through an Adyen-hosted page, use our Hosted Checkout.\nThis page is for the classic Hosted Payment Pages (HPP) integration, which has reached end-of-life.  We are no longer processing transactions though HPP.\n\nSkin is an interface overlay that is applied to the Adyen Hosted Payment Page (HPP) to customize it according to your brand guidelines and create a seamless consumer checkout experience. The skin comprises a set of custom HTML\/JavaScript fragments, images, and CSS.\nYou may create multiple skins to accommodate testing requirements or to target a specific type of device or application, such as a mobile phone browser or point-of-sale terminal.\u00a0\nThe skin provides you with the ability to determine which payment methods are offered by default and in what order. Minimum and maximum transaction amounts per payment method, including a payment method-specific surcharge, can also be specified.\nSkins are not restricted to a single merchant account: if you have multiple merchant accounts associated with your company account, you may use the same skin to process payments for each account. Likewise, you may have multiple skins processing payments for a single merchant account. Processing of multiple accounts is usually due to reconciliation or accounting requirements, which are not covered in this section.\nManaging skins in CA\n\nYou can only access skin management from the test platform.\n\nYou can create, edit, upload, test, and publish your skins\u00a0in your\u00a0Customer Area\u00a0&gt; Account &gt; Skins.\nThe\u00a0List\u00a0tab identifies all the skins that have been created and\u00a0associated with the company or merchant account:\n\nClick the\u00a0New\u00a0tab\u00a0and follow the instructions\u00a0Configuration\u00a0section. You may further customize the skin by manipulating the\u00a0Skin files\u00a0directly.\nYou can edit a skin by clicking the skin code on the\u00a0List\u00a0tab. This tab includes the\u00a0Edit skin configuration\u00a0screen and populates the values entered while creating the Skin. The fields are editable if you set a shared secret, the input field is masked showing \"****\" rather than clear text.\nAfter you have created a skin, you may download its files to edit them directly on your machine. For this, click the arrow pointing down in the\u00a0Download\u00a0column; the system shows the skin code, the description, and the file version for confirmation. Then click the\u00a0Download\u00a0button to proceed with the download.\nAfter you have modified the skin files and saved it in a ZIP file, you may\u00a0upload it to the TEST system to combine it with the\u00a0current skin settings.\nIf\u00a0skin is no longer required, you may delete it; the system shows the skin code, the description, and the file version for confirmation. Click the\u00a0Remove\u00a0button to proceed.\n\nConfiguration\nA skin is identified by a unique combination of eight digits and letters known as the\u00a0skin code. It is a system-generated field; in the rare instance (for example when the randomly generated skin code contains an undesirable combination of characters) you may generate a new skin code by clicking the\u00a0New\u00a0tab again. Because a new skin is not saved until the\u00a0Save Skin to Test\u00a0button is clicked, you can safely repeat this a number of times.\nWhen creating a skin, you are prompted to specify the following skin properties. You require the details for the LIVE environment when publishing the skin to LIVE, but not for initial testing within the TEST environment.\n\n\nDescription:\u00a0A description of your skin, which is useful to easily identify it (in case you have multiple skins).\n\n\nAccount(s):\u00a0The merchant account(s), which should be able to process payments using this skin.\n\n\nHMAC Keys:\u00a0Specify the HMAC Key for each environment.\u00a0The key is used to compute the merchant signature. You cannot use the same Key for both the TEST and LIVE environment.\n\n\nResult URLs\u00a0or\u00a0Continue-to URLs:\u00a0The Result URL is the URL where you host your payment result page. Customers are navigated to this address after they complete the payment. We append parameters to the Result URL to inform you of the status of the payment. Although not recommended it is possible to override the Result URL on a per-payment basis. If the value of the Result URL is not set, and if the resultURL parameter value is not passed with the Payment Request, the default Adyen result page is used to display the payment result.\u00a0\nThe\u00a0Continue-to\u00a0URL is only applicable if you use the default Adyen result page to display the payment result to the customer. When the customer has seen the payment result, clicking the\u00a0Continue\u00a0button navigates them to this URL.\u00a0\nNote that the payment status parameters are not appended to the\u00a0Continue-to\u00a0URL.\n\n\nSkin options\nClick the\u00a0Skin Options\u00a0to reveal less commonly used skin options:\n\nUse an inline frame for VbV and MSC 3-D Secure interaction:\u00a0For 3D Secure\u00a0payments, a 3D window is\u00a0iframed\u00a0within the HPP.\nUse deprecated back-button behavior:\u00a0The standard behavior, when the consumer clicks the previous button on the HPP, is to redirect the shopper to the resultURL with authResult=cancelled. This option performs the action browser minus 1, taking the shopper back to the previous page.\nShopperInteraction for this Skin: We\u00a0recommend that this option remains set to\u00a0Unset, this ensures that the system selects the correct shopper interaction to use.\nSupport partial payments:\u00a0Enable partial payment for\u00a0gift cards. This means that a shopper can pay a part of the transaction amount with their\u00a0gift card, the shopper can pay the remaining amount with\u00a0the other\u00a0payment method.\nBilling Address Fields (AVS):\u00a0Shows the billing address input fields on the HPP for credit card payments. These are used for AVS (address verification) in the UK, US, and Canada if available. This data can be pre-populated.\nShow extra costs\/discount:\u00a0Adyen provides the ability to set a surcharge or discount per payment method. This option determines how the extra cost or discount is shown on the payment method selection screen.\u00a0Cost\u00a0shows the extra cost (or discount) itself, e.g. \"EUR 0.50 + 3.50%\", or \"3.50%\".\u00a0Value\u00a0shows the calculated cost value, e.g. \"EUR 4.50\".\n\nBreak out of frame:\u00a0While\u00a0implementing an iFrame\u00a0solution,\u00a0while supporting it note that not all payment methods support iFrames, an example is iDEAL.\nThis setting provides you with three options:\n\n\nSelecting\u00a0No\u00a0disables breaking out of iFrames.\n\n\nSelecting the Same\u00a0window\u00a0opens the redirect page in the same window.\n\n\nSelecting\u00a0New Popup\u00a0results in the payment method redirect being opened within a popup screen. After the shopper completes the payment flow, the popup closes, and the session continues within the iFrame.\n\n\n\n\n\nThe New Popup option is only available for a limited set of payment methods.\n\nOneClick options\n\n\nUse new OneClick layout:\u00a0After enabling this option, the OneClick values display at the payment method itself, instead of at the top of the page. Note that not all payment methods currently support the OneClick functionality.\n\n\nOneClick Configuration:\u00a0Configure the payment methods to display\u00a0Store details\u00a0options to store the details for OneClick payments.\n\n\nAirline specific options\n\nShow airline data on payment pages:\u00a0Shows the airline data fields on the HPP.\nShow airline fields on\u00a0callcenter\u00a0page:\u00a0Shows the airline data fields on the\u00a0callcenter\u00a0page.\n\nPOS specific options\nShow POS fields on\u00a0callcenter\u00a0page:\u00a0Shows the POS data fields on the\u00a0callcenter\u00a0page.\nExtra options\nSome extra options that you can configure:\nPayment Methods:\u00a0Payment methods configuration gives you control over the payment methods to be shown by default, the order in which they are shown, the minimum\/maximum amounts that you want to accept per payment method, and to charge a surcharge per payment method.\nYou can add additional support for countries\/regions for any payment method in the test environment as:\n\nGo to\u00a0Customer Area\u00a0&gt; Account &gt;\u00a0Skins and click on the name of the skin you are using.\nEdit the payment method.\nUnder the options column, click\u00a0for the payment method you want to edit.\nSelect\u00a0Overwrite available countries.\nSelect the country\/region in the Deselected countries list.\nClick \u00a0to add it to Selected countries.\nClick Save changes.\nPublish the skin to live.\n\n\nThe added countries\/regions may not be visible in the Settings &gt; Payment methods &gt; Available countries but they are available.\n\nCustom Fields:\u00a0Custom fields are a powerful feature of the payment pages that allow you to add form fields to the HPP. These are sent to you before final payment submission for approval; you may use this feature to capture any additional data or permissions that you may require, such as collecting shipping data, forcing the shopper to accept terms and conditions, or checking a validation code.\nAny form field, whose name attribute is prefixed with \"customfields\", is considered to be a custom field. Custom fields are added as HTML to the page in an include file which is named customfields.txt (or a localized variant, e.g. customfields_NL.txt).\n    &lt;table id=\"basetable\"&gt;\n       &lt;tr&gt;\n           &lt;td&gt;\n               &lt;div class=\"fieldDiv\"&gt;\n                  &lt;input type=\"checkbox\" name=\"customfields.subscribe\" id=\"customfields.subscribe\" value=\"true\" CHECKED\/&gt;Next&lt;br \/&gt;\n                  &lt;input type=\"name\" name=\"customfields.email\" id=\"customfields.email\" value=\"\"\/&gt; Email address&lt;br \/&gt;\n               &lt;\/div&gt;\n           &lt;\/td&gt;\n       &lt;\/tr&gt;\n    &lt;\/table&gt;\nThe contents of the custom fields are sent as a SOAP Web Service request to a URL of your choice as configured using the Custom Fields link on the Edit Skin page. The following is a SOAP example of such request:\n    &lt;soap:Envelope xmlns:soap=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\" xmlns:xsd=\"http:\/\/www.w3.org\/2001\/XMLSchema\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema -instance\"&gt;\n      &lt;soap:Body&gt;\n        &lt;check xmlns=\"http:\/\/customfields.services.adyen.com\"&gt;\n          &lt;Request&gt;\n            &lt;customFields&gt;\n              &lt;CustomField&gt;\n                 &lt;name&gt;subscribe&lt;\/name&gt;\n                 &lt;value&gt;true&lt;\/value&gt;\n              &lt;\/CustomField&gt;\n              &lt;CustomField&gt;\n                 &lt;name&gt;VAT&lt;\/name&gt;\n                 &lt;value&gt;NLXXXB01&lt;\/value&gt;\n              &lt;\/CustomField&gt;\n            &lt;\/customFields&gt;\n            &lt;merchantAccount&gt;YourMerchantAccount&lt;\/merchantAccount&gt;\n            &lt;merchantReference&gt;YourMerchantReference&lt;\/merchantReference&gt;\n             &lt;sessionFields&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;skinCode&lt;\/name&gt;\n                 &lt;value&gt;wjCP5yTj&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;countryCode&lt;\/name&gt;\n                 &lt;value&gt;NL&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;paymentAmount&lt;\/name&gt;\n                 &lt;value&gt;550&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;currencyCode&lt;\/name&gt;\n                 &lt;value&gt;EUR&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;shopperEmail&lt;\/name&gt;\n                 &lt;value&gt;test@test.com&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n              &lt;sessionField&gt;\n                 &lt;name&gt;shopperReference&lt;\/name&gt;\n                 &lt;value&gt;YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j&lt;\/value&gt;\n              &lt;\/sessionField&gt;\n            &lt;\/sessionFields&gt;\n          &lt;\/Request&gt;\n        &lt;\/check&gt;\n      &lt;\/soap:Body&gt;\n    &lt;\/soap:Envelope&gt;\nIf you respond with\u00a0accepted\u00a0the payment is allowed to continue. If not, you can specify which fields failed validation and the validation messages to display. If you need to store this data you must do so at this point, the data cannot be sent to you via the Notification server. The following is an example of a SOAP response:\n    &lt;SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http:\/\/schemas.xmlsoap.org\/soap\/envelope\/\" xmlns:ns1=\"http:\/\/www.customfields.services.adyen.com\"&gt;\n      &lt;SOAP-ENV:Body&gt;\n        &lt;ns1:checkResponse&gt;\n          &lt;ns1:response&gt;\n            &lt;ns1:customFields\/&gt;\n            &lt;ns1:response&gt;[accepted]&lt;\/ns1:response&gt;\n            &lt;ns1:sessionFields\/&gt;\n          &lt;\/ns1:response&gt;\n        &lt;\/ns1:checkResponse&gt;\n      &lt;\/SOAP-ENV:Body&gt;\n    &lt;\/SOAP-ENV:Envelope&gt;\nDownload Skin:\u00a0Navigates you to the Download Skin page.\nRemove Skin:\u00a0Navigates\u00a0you to the Remove Skin page.\nEdit Language Files: Customer Area\u00a0offers a visual interface to view and modify the text strings in the Adyen standard language set. You can add the languages that are not part of the standard using the\u00a0Skin resource file\u00a0method.\nWith the Skin selected click the\u00a0Edit Language Files**\u00a0link in the\u00a0Extra Options**\u00a0section. A table shows the following fields:\n\n\nKey:\u00a0A unique identifier for the text string (e.g. button.continue).\n\n\nAdyen\u00a0default:\u00a0The text string Adyen\u00a0associates\u00a0with the key (e.g. Continue).\n\n\nMerchant default:\u00a0The text string you associate with the key (if set); this overrides the Adyen default if set.\n\n\nSet the merchant default\u00a0value for each key you want to change the text from the Adyen default. Click the\u00a0Save\u00a0button. It is important to ensure that you save every 5 minutes to avoid your session from timing out, resulting in a loss of any changes that have not been saved. Every time you click\u00a0Save, a new version of the skin is created.\nFor the -default- language the\u00a0res\/resource.properties file in the Skin is created\/updated each time you save.\nTo edit another language, choose its shopper locale from the Language drop-down list. A table shows the following fields:\n\n\nKey:\u00a0A unique identifier for the text string (e.g. button.continue).\n\n\nAdyen\u00a0default:\u00a0The text string Adyen\u00a0associates\u00a0with the key (e.g. Continue).\n\n\nAdyen\u00a0[language] (e.g.\u00a0adyen\u00a0nl):\u00a0The text string Adyen\u00a0associates\u00a0with the key for the language chosen (e.g. Continue).\n\n\nMerchant [language] (e.g. merchant\u00a0nl):\u00a0The text string you associate with the key for the language chosen (if set). This overrides the Adyen default if set.\n\n\nFor each\u00a0language,\u00a0you set merchant values for, a file named resources_[language].properties\u00a0is created in the\u00a0res\u00a0directory of the skin. For example, if the shopper locale =\u00a0nl, a file called resources_nl.properties in the res directory is created.\u00a0Language translations for new keys that Adyen introduces may not be immediately available in all languages.\nAfter you have completed editing the text string, be sure to download the latest version of the skin to your PC before making any further changes. This ensures you have the updated skin resource files.\nTesting\nIt is possible to send a payment request to the HPP directly from the Test tab in the Skin menu. This is a very useful tool to quickly test the correct operation of the skin and allows you to submit payments to the system before completing your integration with the HPP.\n\nCreate a\u00a0skin.\nPerform test transactions with the different payment methods that you want to offer to your customers. Initiate these tests should from your web shop to our test\u00a0platform.\nTest the modifications:\n\nCancellations.\nCaptures (manually inclusive).\nRefunds (partial amount and complete amount).\nA subscription to a daily report has been enabled and reconciled. For\u00a0example:\u00a0Payment accounting report.\n\nSuccessfully test webhooks for each of the following event codes:\n\nAUTHORISATION\nCANCELLATION\nREPORT_AVAILABLE\nCAPTURE\nREFUND\n\n\n\nBelow are some recommendations that we would like you to keep in mind, to ensure a better experience using our services:\n\nThe country code parameter is being sent in your payment requests. It forces showing payment methods for the related country\/region, instead of detecting the country\/region from the shopper's IP.\nThe merchant reference is controlled on your side, avoiding re-using the same one for several payments.\nBy default, Customer Area notifications are configured for any user.\n\n\nThis page also shows you the versions of the skin that are currently deployed on the TEST and LIVE HPP servers. There is always a delay between saving a skin or publishing it to the Live server. When the Latest Version value corresponds with the Currently on Test or Currently on a\u00a0live version, all the latest changes are deployed to that system.\nThe test functionality is also useful in debugging any problems you may have with your integration since it produces a complete payment setup form against which you can compare your implementation.\u00a0","type":"page","locale":"pt","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Classic integrations for Ecommerce","lvl3":"Hosted Payment Pages","lvl4":"Skins for Hosted Payment Pages"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/online-payments","lvl2":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations","lvl3":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/hosted-payment-pages","lvl4":"\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/skin"},"levels":5,"category":"Online Payments","category_color":"green","tags":["Skins","Hosted","Payment","Pages"]},"articleFiles":{"skins-arrow-icon.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/02.online-payments\/60.classic-integrations\/04.hosted-payment-pages\/01.skin\/skins-arrow-icon.png\" \/>","skins-edit-icon.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/02.online-payments\/60.classic-integrations\/04.hosted-payment-pages\/01.skin\/skins-edit-icon.png\" \/>"}}
