{"title":"Testing 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<h2 id=\"avs\">AVS<\/h2>\n<p>You can use a set of\u00a0<a href=\"\/pt\/development-resources\/test-cards-and-credentials\/test-card-numbers\">test card numbers and test accounts<\/a> for QA purposes and to verify that your implementation works as expected.<\/p>\n<p>You can test all available AVS result codes. To do so, you can use the\u00a0<code>billingAddress.street<\/code>\u00a0and the\u00a0<code>billingAddress.houseNumberOrName<\/code> fields in a standard payment request form to submit the AVS code data you want to check.<\/p>\n<pre><code class=\"language-xml\">&lt;input type=\"hidden\" name=\"billingAddress.city\" value=\"Burbank\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.street\" value=\"Test AVS result\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.houseNumberOrName\" value=\"4\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.postalCode\" value=\"91521\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.stateOrProvince\" value=\"CA\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.country\" value=\"US\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddressType\" value=\"0\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddressSig\" value=\"m+fDzztb\/oMEO4BEGc4mvedlKHU=\" \/&gt;<\/code><\/pre>\n<h3 id=\"test-avs-result-codes\">\u00a0Test AVS result codes<\/h3>\n<table><colgroup><col style=\"width: 15%\"><col style=\"width: 75%\"><\/colgroup><thead><tr class=\"header\"><th>AVS\u00a0Response code<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td>\n<p>0<\/p>\n<\/td><td>\n<p>Unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>1<\/p>\n<\/td><td>\n<p>Address matches, but the postal code does not match.<\/p>\n<\/td><\/tr><tr><td>\n<p>2<\/p>\n<\/td><td>\n<p>Neither postal code nor address match.<\/p>\n<\/td><\/tr><tr><td>\n<p>3<\/p>\n<\/td><td>\n<p>AVS unavailable.<\/p>\n<\/td><\/tr><tr><td>\n<p>4<\/p>\n<\/td><td>\n<p>AVS not supported for this card type.<\/p>\n<\/td><\/tr><tr><td>\n<p>5<\/p>\n<\/td><td>\n<p>No AVS data provided.<\/p>\n<\/td><\/tr><tr><td>\n<p>6<\/p>\n<\/td><td>\n<p>Postal code matches, but the address does not match.<\/p>\n<\/td><\/tr><tr><td>\n<p>7<\/p>\n<\/td><td>\n<p>Both postal code and address match.<\/p>\n<\/td><\/tr><tr><td>\n<p>8<\/p>\n<\/td><td>\n<p>Address not checked, postal code unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>9<\/p>\n<\/td><td>\n<p>Address matches, postal code unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>10<\/p>\n<\/td><td>\n<p>Address doesn't match, postal code unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>11<\/p>\n<\/td><td>\n<p>Postal code not checked, address unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>12<\/p>\n<\/td><td>\n<p>Address matches, postal code not checked.<\/p>\n<\/td><\/tr><tr><td>\n<p>13<\/p>\n<\/td><td>\n<p>Address doesn't match, postal code not checked.<\/p>\n<\/td><\/tr><tr><td>\n<p>14<\/p>\n<\/td><td>\n<p>Postal code matches, address unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>15<\/p>\n<\/td><td>\n<p>Postal code matches, address not checked.<\/p>\n<\/td><\/tr><tr><td>\n<p>16<\/p>\n<\/td><td>\n<p>Postal code doesn't match, address unknown.<\/p>\n<\/td><\/tr><tr><td>\n<p>17<\/p>\n<\/td><td>\n<p>Postal code doesn't match, address not checked.<\/p>\n<\/td><\/tr><tr><td>\n<p>18<\/p>\n<\/td><td>\n<p>Neither postal code nor address were checked.<\/p>\n<\/td><\/tr><tr><td>\n<p>19<\/p>\n<\/td><td>\n<p>Name and postal code matches.<\/p>\n<\/td><\/tr><tr><td>\n<p>20<\/p>\n<\/td><td>\n<p>Name, address and postal code matches.<\/p>\n<\/td><\/tr><tr><td>\n<p>21<\/p>\n<\/td><td>\n<p>Name and address matches.<\/p>\n<\/td><\/tr><tr><td>\n<p>22<\/p>\n<\/td><td>\n<p>Name matches.<\/p>\n<\/td><\/tr><tr><td>\n<p>23<\/p>\n<\/td><td>\n<p>Postal code matches, name doesn't match.<\/p>\n<\/td><\/tr><tr><td>\n<p>24<\/p>\n<\/td><td>\n<p>Both postal code and address matches, name doesn't match.<\/p>\n<\/td><\/tr><tr><td>\n<p>25<\/p>\n<\/td><td>\n<p>Address matches, name doesn't match.<\/p>\n<\/td><\/tr><tr><td>\n<p>26<\/p>\n<\/td><td>\n<p>Neither postal code, address nor name matches.<\/p>\n<\/td><\/tr><\/tbody><\/table>\n<h2 id=\"cvv-cvc-results\">CVV-CVC results<\/h2>\n<div class=\"sc-notice info\"><div>\n<p>To test CVC\/CVV result codes on HPP, you need to prefix the code number you want to test with two padding zeroes:<br \/>\n00{CVCCCVcode}<\/p>\n<p>For example, to test CVC\/CVV result code 4 No CVC\/CVV provided, enter it as\u00a0\u00a0004 in the CVV field on the HPP.<\/p>\n<\/div><\/div>\n<p>You\u00a0can test CCV\/CVV result codes. Assign the appropriate values to the child elements of the card element, as described below:<\/p>\n<table>\n<thead>\n<tr>\n<th>Parent<\/th>\n<th>Child<\/th>\n<th>Value to test CVC\/CVV<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong><code>card<\/code><\/strong><\/td>\n<td>\u00a0<\/td>\n<td>\u00a0<\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td><strong><code>number<\/code><\/strong><\/td>\n<td><em>&lt;specify_here_a_<a href=\"\/pt\/development-resources\/test-cards-and-credentials\/test-card-numbers\">test_card_number<\/a>&gt;<\/em><\/td>\n<\/tr>\n<tr>\n<td>\u00a0<\/td>\n<td><strong><code>cvc<\/code><\/strong><\/td>\n<td><em>&lt;specify_here_the_CVC\/CVV_code_to_test&gt;<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>You still need to include and define all the other\u00a0<code>card<\/code>\u00a0child elements, but their values do not impact the\u00a0<code>cvc<\/code>\u00a0return value you want to test.<\/p>\n<p>You can use a\u00a0<a href=\"\/pt\/development-resources\/test-cards-and-credentials\/test-card-numbers\">test card number with a CVC from this list<\/a>\u00a0to test CVC\/CVV results.<\/p>\n<h3 id=\"card-examples\">Card examples<\/h3>\n<p>The following examples show how to use the\u00a0<code>card<\/code>\u00a0element to test specific CVC\/CVV result codes.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"''\" :id=\"'1995505717'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":\"{ \\n  \\\"card\\\" : \\n    {\\n    \\\"number\\\" : \\\"4111111111111111\\\", \\\/\\\/ Use a test card number that has a CVC number\\n    \\\"cvc\\\" : \\\"737\\\", \\\/\\\/ Use padding zeroes as necessary before the 1- or 2-digit CVC-CVV code you want to test\\n    \\\"expiryMonth\\\" : \\\"08\\\",\\n    \\\"expiryYear\\\" : \\\"2018\\\",\\n    \\\"holderName\\\" : \\\"Adyen Test\\\"\\n   }\\n}\"},{\"language\":\"xml\",\"tabTitle\":\"Soap\",\"content\":\"&lt;card xmlns=\\\"http:\\\/\\\/payment.services.adyen.com\\\"&gt;\\n    &lt;cvc&gt;737&lt;\\\/cvc&gt; \\\/\\\/ Use padding zeroes as necessary before the 1- or 2-digit CVC-CVV code you want to test\\n    &lt;expiryMonth&gt;08&lt;\\\/expiryMonth&gt;\\n    &lt;expiryYear&gt;2018&lt;\\\/expiryYear&gt;\\n    &lt;holderName&gt;Adyen Test&lt;\\\/holderName&gt;\\n    &lt;number&gt;4111111111111111&lt;\\\/number&gt; \\\/\\\/ Use a test card number that has a CVC number\\n&lt;\\\/card&gt;\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<h3 id=\"cvc-cvv-result-codes\">CVC-CVV result codes<\/h3>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th>CVC\/CVV result code<\/th>\n<th>Result<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>Unknown<\/td>\n<td>Approval<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>Matches<\/td>\n<td>Approval<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>Doesn't match<\/td>\n<td>Decline<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>Not checked<\/td>\n<td>Approval<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>No CVC\/CVV provided, but was required<\/td>\n<td>Decline<\/td>\n<\/tr>\n<tr>\n<td>5<\/td>\n<td>Issuer not certified for CVC\/CVV<\/td>\n<td>Approval<\/td>\n<\/tr>\n<tr>\n<td>6<\/td>\n<td>No CVC\/CVV provided<\/td>\n<td>Approval<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"result-codes\">Result codes<\/h2>\n<p>You can test refused transactions and the specific refusal reason that are returned when a transaction fails.<\/p>\n<p>Make an\u00a0<a href=\"https:\/\/docs.adyen.com\/api-explorer\/#\/Payment\/latest\/authorise\" class=\"codeLabel external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\/authorise<\/a> request, and include the required\u00a0<code>card<\/code>\u00a0fields (you can use one of the test card numbers with a CVC from\u00a0<a href=\"\/pt\/development-resources\/test-cards-and-credentials\/test-card-numbers\">this list<\/a>). For the\u00a0<code>holderName<\/code>, include a value with the following:<\/p>\n<ul>\n<li>a\u00a0<strong>Response<\/strong>\u00a0from the list of\u00a0<a href=\"\/pt\/development-resources\/testing\/result-codes#values-for-testing-result-reasons\">Adyen response codes<\/a>.<\/li>\n<li>a\u00a0<a href=\"\/pt\/development-resources\/raw-acquirer-responses\">Scheme Response code and Refusal reason raw String<\/a>.<\/li>\n<\/ul>\n<p>For this value, use the format:<\/p>\n<pre><code>[Adyen Response code] : [Scheme Response code and Refusal reason raw String]<\/code><\/pre>\n<div class=\"sc-notice note\"><div>\n<p>You may need to lower the risk score value to take into account non-alphabetic characters in the cardholder name like a colon\u00a0(\":\"). This and other non-alphabetical characters trigger the risk check, which may cause the payment to be declined with a\u00a0<code>FRAUD<\/code>\u00a0reason code.<\/p>\n<\/div><\/div>\n<h3 id=\"example\">Example<\/h3>\n<p>The following example\u00a0shows how\u00a0you test a \"Declined\" payment result due to an \"Error\",\u00a0using the\u00a0<code>holderName<\/code>:<\/p>\n<pre><code>DECLINED : 06 : ERROR<\/code><\/pre>\n<div class=\"sc-notice note\"><div>\n<ul>\n<li>\n<p>The <code>holderName<\/code> field value cannot be longer than 80 characters max.<\/p>\n<\/li>\n<li>\n<p>If you specify an incorrect CVC or an invalid expiry date, the payment fails and the operation returns a generic\u00a0<code>DECLINED<\/code> refusal reason.<\/p>\n<\/li>\n<\/ul>\n<\/div><\/div>\n<h2 id=\"testing-chargebacks\">Testing chargebacks<\/h2>\n<p>To test a chargeback, create a payment and enter\u00a0<strong>Chargeback\u00a0<\/strong>in the <code>card.holderName<\/code><strong>\u00a0<\/strong>field.<\/p>\n<p>This simulates a flow for a chargeback. The payment goes through the normal process for authorisation and settlement.<\/p>\n<p>After settlement, the chargeback is initiated.<\/p>\n<h2 id=\"test-chargeback-reversed\">Testing chargeback reversed<\/h2>\n<p>Create a payment and enter <strong>Chargeback Reversed<\/strong> in the <code>card.holderName<\/code>\u00a0field.\u00a0The payment goes through the normal process for authorisation and settlement.<\/p>\n<p>After settlement, the chargeback is reversed.<\/p>","url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/testing","articleFields":{"id":"24217225","type":"page","_expandable":{"operations":""},"status":"current","last_edit_on":"30-04-2019 01:18","sitemap":{"priority":0.3},"parameters":{"anchor_new":"<a href=\"\/development-resources\/test-cards-and-credentials\/test-card-numbers\">Test card numbers<\/a>","parent_page":"classic Hosted Payment Pages (HPP)","new_desc":"integrating using our Checkout APIs"}},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/online-payments\/classic-integrations\/hosted-payment-pages\/testing","title":"Testing 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\nAVS\nYou can use a set of\u00a0test card numbers and test accounts for QA purposes and to verify that your implementation works as expected.\nYou can test all available AVS result codes. To do so, you can use the\u00a0billingAddress.street\u00a0and the\u00a0billingAddress.houseNumberOrName fields in a standard payment request form to submit the AVS code data you want to check.\n&lt;input type=\"hidden\" name=\"billingAddress.city\" value=\"Burbank\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.street\" value=\"Test AVS result\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.houseNumberOrName\" value=\"4\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.postalCode\" value=\"91521\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.stateOrProvince\" value=\"CA\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddress.country\" value=\"US\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddressType\" value=\"0\" \/&gt;\n&lt;input type=\"hidden\" name=\"billingAddressSig\" value=\"m+fDzztb\/oMEO4BEGc4mvedlKHU=\" \/&gt;\n\u00a0Test AVS result codes\nAVS\u00a0Response codeDescription\n0\n\nUnknown.\n\n1\n\nAddress matches, but the postal code does not match.\n\n2\n\nNeither postal code nor address match.\n\n3\n\nAVS unavailable.\n\n4\n\nAVS not supported for this card type.\n\n5\n\nNo AVS data provided.\n\n6\n\nPostal code matches, but the address does not match.\n\n7\n\nBoth postal code and address match.\n\n8\n\nAddress not checked, postal code unknown.\n\n9\n\nAddress matches, postal code unknown.\n\n10\n\nAddress doesn't match, postal code unknown.\n\n11\n\nPostal code not checked, address unknown.\n\n12\n\nAddress matches, postal code not checked.\n\n13\n\nAddress doesn't match, postal code not checked.\n\n14\n\nPostal code matches, address unknown.\n\n15\n\nPostal code matches, address not checked.\n\n16\n\nPostal code doesn't match, address unknown.\n\n17\n\nPostal code doesn't match, address not checked.\n\n18\n\nNeither postal code nor address were checked.\n\n19\n\nName and postal code matches.\n\n20\n\nName, address and postal code matches.\n\n21\n\nName and address matches.\n\n22\n\nName matches.\n\n23\n\nPostal code matches, name doesn't match.\n\n24\n\nBoth postal code and address matches, name doesn't match.\n\n25\n\nAddress matches, name doesn't match.\n\n26\n\nNeither postal code, address nor name matches.\n\nCVV-CVC results\n\nTo test CVC\/CVV result codes on HPP, you need to prefix the code number you want to test with two padding zeroes:\n00{CVCCCVcode}\nFor example, to test CVC\/CVV result code 4 No CVC\/CVV provided, enter it as\u00a0\u00a0004 in the CVV field on the HPP.\n\nYou\u00a0can test CCV\/CVV result codes. Assign the appropriate values to the child elements of the card element, as described below:\n\n\n\nParent\nChild\nValue to test CVC\/CVV\n\n\n\n\ncard\n\u00a0\n\u00a0\n\n\n\u00a0\nnumber\n&lt;specify_here_a_test_card_number&gt;\n\n\n\u00a0\ncvc\n&lt;specify_here_the_CVC\/CVV_code_to_test&gt;\n\n\n\nYou still need to include and define all the other\u00a0card\u00a0child elements, but their values do not impact the\u00a0cvc\u00a0return value you want to test.\nYou can use a\u00a0test card number with a CVC from this list\u00a0to test CVC\/CVV results.\nCard examples\nThe following examples show how to use the\u00a0card\u00a0element to test specific CVC\/CVV result codes.\n\n    \n\nCVC-CVV result codes\n\n\n\n\nCVC\/CVV result code\nResult\n\n\n\n\n0\nUnknown\nApproval\n\n\n1\nMatches\nApproval\n\n\n2\nDoesn't match\nDecline\n\n\n3\nNot checked\nApproval\n\n\n4\nNo CVC\/CVV provided, but was required\nDecline\n\n\n5\nIssuer not certified for CVC\/CVV\nApproval\n\n\n6\nNo CVC\/CVV provided\nApproval\n\n\n\nResult codes\nYou can test refused transactions and the specific refusal reason that are returned when a transaction fails.\nMake an\u00a0\/authorise request, and include the required\u00a0card\u00a0fields (you can use one of the test card numbers with a CVC from\u00a0this list). For the\u00a0holderName, include a value with the following:\n\na\u00a0Response\u00a0from the list of\u00a0Adyen response codes.\na\u00a0Scheme Response code and Refusal reason raw String.\n\nFor this value, use the format:\n[Adyen Response code] : [Scheme Response code and Refusal reason raw String]\n\nYou may need to lower the risk score value to take into account non-alphabetic characters in the cardholder name like a colon\u00a0(\":\"). This and other non-alphabetical characters trigger the risk check, which may cause the payment to be declined with a\u00a0FRAUD\u00a0reason code.\n\nExample\nThe following example\u00a0shows how\u00a0you test a \"Declined\" payment result due to an \"Error\",\u00a0using the\u00a0holderName:\nDECLINED : 06 : ERROR\n\n\n\nThe holderName field value cannot be longer than 80 characters max.\n\n\nIf you specify an incorrect CVC or an invalid expiry date, the payment fails and the operation returns a generic\u00a0DECLINED refusal reason.\n\n\n\nTesting chargebacks\nTo test a chargeback, create a payment and enter\u00a0Chargeback\u00a0in the card.holderName\u00a0field.\nThis simulates a flow for a chargeback. The payment goes through the normal process for authorisation and settlement.\nAfter settlement, the chargeback is initiated.\nTesting chargeback reversed\nCreate a payment and enter Chargeback Reversed in the card.holderName\u00a0field.\u00a0The payment goes through the normal process for authorisation and settlement.\nAfter settlement, the chargeback is reversed.","type":"page","locale":"pt","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"Online payments","lvl2":"Classic integrations for Ecommerce","lvl3":"Hosted Payment Pages","lvl4":"Testing 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\/testing"},"levels":5,"category":"Online Payments","category_color":"green","tags":["Testing","Hosted","Payment","Pages"]},"articleFiles":{"1995505717.json":"<p alt=\"\">1995505717.json<\/p>"}}
