{"title":"Cashback","category":"default","creationDate":1691585340,"content":"<p>The cashback feature lets shoppers get cash in hand from their account, either with their purchase or without a purchase. Cashback without a purchase is often called cashout.<\/p>\n<p>This page shows how to make a Terminal API cashback request and interpret the response.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">This feature is supported with a <a href=\"\/point-of-sale\/get-started\">Terminal API integration<\/a> with payment terminals.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\"><a href=\"#support\">Support<\/a> for the feature is limited to specific cards and countries\/regions.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Before you begin, contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> to enable cashbacks.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"request\">Issue a cashback<\/h2>\n<ol>\n<li>\n<p>Determine the following values that you will need to pass in your payment request:<\/p>\n<ul>\n<li>The cashback amount.<\/li>\n<li>\n<p>The sum of the cashback amount and the amount due for the shopper's purchases.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><a href=\"\/point-of-sale\/basic-tapi-integration\/make-a-payment\">Make a payment request<\/a>, including:<\/p>\n<ul>\n<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment#request-PaymentTransaction\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentTransaction<\/a> object with the total and cashback amounts:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>AmountsReq.RequestedAmount<\/code><\/td>\n<td style=\"text-align: left;\">The total amount to be paid by the shopper. That is the amount of the purchase plus the amount of the cashback.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>AmountsReq.CashBackAmount<\/code><\/td>\n<td style=\"text-align: left;\">The cashback amount.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>The example below shows the request for a shopper who purchased goods for <strong>10<\/strong> AUD, and wants to get a cashback of <strong>2<\/strong> AUD:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'cashback-and-cash-out_0'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":\"{\\n  \\\"SaleToPOIRequest\\\": {\\n    \\\"MessageHeader\\\": {\\n      \\\"ProtocolVersion\\\": \\\"3.0\\\",\\n      \\\"MessageClass\\\": \\\"Service\\\",\\n      \\\"MessageCategory\\\": \\\"Payment\\\",\\n      \\\"MessageType\\\": \\\"Request\\\",\\n      \\\"ServiceID\\\": \\\"0501160930\\\",\\n      \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n      \\\"POIID\\\": \\\"P400Plus-540004072\\\"\\n    },\\n    \\\"PaymentRequest\\\": {\\n      \\\"SaleData\\\": {\\n        \\\"SaleTransactionID\\\": {\\n          \\\"TransactionID\\\": \\\"3375\\\",\\n          \\\"TimeStamp\\\": \\\"2018-05-01T14:09:30+00:00\\\"\\n        }\\n      },\\n      \\\"PaymentTransaction\\\": {\\n        \\\"AmountsReq\\\": {\\n          \\\"Currency\\\": \\\"AUD\\\",\\n          \\\"RequestedAmount\\\": 12.00,\\n          \\\"CashBackAmount\\\": 2.00\\n        }\\n      }\\n    }\\n  }\\n}\"},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":\"String serviceID = \\\"YOUR_UNIQUE_ATTEMPT_ID\\\";\\nString saleID = \\\"YOUR_CASH_REGISTER_ID\\\";\\nString POIID = \\\"YOUR_TERMINAL_ID\\\";\\nString transactionID = \\\"YOUR_UNIQUE_TRANSACTION_ID\\\";\\n\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nMessageHeader messageHeader = new MessageHeader();\\nmessageHeader.setProtocolVersion(\\\"3.0\\\");\\nmessageHeader.setMessageClass( MessageClassType.SERVICE );\\nmessageHeader.setMessageCategory( MessageCategoryType.PAYMENT );\\nmessageHeader.setMessageType( MessageType.REQUEST );\\nmessageHeader.setServiceID(serviceID);\\nmessageHeader.setSaleID(saleID);\\nmessageHeader.setPOIID(POIID);\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\n\\nPaymentRequest paymentRequest = new PaymentRequest();\\nSaleData saleData = new SaleData();\\nTransactionIdentification saleTransactionID = new TransactionIdentification();\\nsaleTransactionID.setTransactionID(transactionID);\\nsaleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));\\nsaleData.setSaleTransactionID(saleTransactionID);\\npaymentRequest.setSaleData(saleData);\\n\\nPaymentTransaction paymentTransaction = new PaymentTransaction();\\nAmountsReq amountsReq = new AmountsReq();\\namountsReq.setCurrency(\\\"AUD\\\");\\namountsReq.setRequestedAmount( BigDecimal.valueOf(12.00) );\\namountsReq.setCashBackAmount( BigDecimal.valueOf(2.00) );\\npaymentTransaction.setAmountsReq(amountsReq);\\npaymentRequest.setPaymentTransaction(paymentTransaction);\\nsaleToPOIRequest.setPaymentRequest(paymentRequest);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>When you receive the payment response, check the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment#responses-200-Response-Result\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentResponse.Response.Result<\/a>:<\/p>\n<ul>\n<li>\n<p><span translate=\"no\"><strong>Success<\/strong><\/span> means the issuer authorized both the payment and the cashback.<br \/>\nThe amount in the <code>PaymentResult.AmountsResp.CashBackAmount<\/code> field is the amount that you need to pay to the shopper in cash.<\/p>\n<\/li>\n<li>\n<p><span translate=\"no\"><strong>Partial<\/strong><\/span> means the issuer authorized the payment but not the cashback.<\/p>\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Payment response with cashback'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\": {\\n        \\\"PaymentResponse\\\": {\\n            \\\"POIData\\\": {\\n                \\\"POITransactionID\\\": {\\n                    \\\"TimeStamp\\\": \\\"2018-05-01T14:09:30.000Z\\\",\\n                    \\\"TransactionID\\\": \\\"u6W7001525183770000.NC6HT9CRT65ZGN82\\\"\\n                }\\n            },\\n            \\\"SaleData\\\": {\\n                \\\"SaleTransactionID\\\": {\\n                    \\\"TimeStamp\\\": \\\"2018-05-01T14:09:30.000Z\\\",\\n                    \\\"TransactionID\\\": \\\"3375\\\"\\n                }\\n            },\\n            \\\"PaymentResult\\\": {\\n                \\\"AuthenticationMethod\\\": [\\n                    \\\"OnlinePIN\\\"\\n                ],\\n                \\\"PaymentAcquirerData\\\": {...},\\n                \\\"PaymentInstrumentData\\\": {\\n                    \\\"CardData\\\": {\\n                        \\\"EntryMode\\\": [\\n                            \\\"MagStripe\\\"\\n                        ],\\n                        \\\"PaymentBrand\\\": \\\"eftpos_australia_sav\\\",\\n                        \\\"MaskedPan\\\": \\\"637204 **** 0025\\\",\\n                        \\\"SensitiveCardData\\\": {\\n                            \\\"ExpiryDate\\\": \\\"1220\\\"\\n                        }\\n                    },\\n                    \\\"PaymentInstrumentType\\\": \\\"Card\\\"\\n                },\\n                \\\"AmountsResp\\\": {\\n                    \\\"AuthorizedAmount\\\": 12,\\n                    \\\"CashBackAmount\\\": 2,\\n                    \\\"Currency\\\": \\\"AUD\\\"\\n                }\\n            },\\n            \\\"Response\\\": {\\n                \\\"Result\\\": \\\"Success\\\",\\n                \\\"AdditionalResponse\\\": \\\"...cashBackAmountValue=200\\\"\\n            }\\n        },\\n        \\\"MessageHeader\\\": {...}\\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=\"support\">Supported cards and countries\/regions<\/h2>\n<p>Cashback is supported for:<\/p>\n<ul>\n<li><span translate=\"no\"><strong>eftpos<\/strong><\/span> debit cards in Australia.<\/li>\n<li><span translate=\"no\"><strong>girocard<\/strong><\/span> debit cards in Germany. Only with a purchase.<\/li>\n<li><span translate=\"no\"><strong>Mastercard<\/strong><\/span> in Europe. Only with a purchase, and only in specific countries\/regions. Contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> to learn for which countries\/regions cashback can be enabled.<\/li>\n<li><span translate=\"no\"><strong>Visa<\/strong><\/span> in Europe. Only with a purchase<\/li>\n<\/ul>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/capturing-payments\"\n                        target=\"_self\"\n                        >\n                    Capture payments\n                <\/a><\/li><li><a href=\"\/point-of-sale\/what-we-support\/payment-methods\"\n                        target=\"_self\"\n                        >\n                    Payment methods\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/point-of-sale\/cashback-and-cash-out","articleFields":{"description":"Obtain a small amount of cash from a card with a purchase or without a purchase (cashout).","id":"39950075","type":"page","_expandable":{"operations":""},"status":"current","last_edit_on":"10-08-2023 12:42","feedback_component":true,"filters_component":false},"algolia":{"url":"https:\/\/docs.adyen.com\/point-of-sale\/cashback-and-cash-out","title":"Cashback","content":"The cashback feature lets shoppers get cash in hand from their account, either with their purchase or without a purchase. Cashback without a purchase is often called cashout.\nThis page shows how to make a Terminal API cashback request and interpret the response.\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nThis feature is supported with a Terminal API integration with payment terminals.\n\n\nLimitations\nSupport for the feature is limited to specific cards and countries\/regions.\n\n\nSetup steps\nBefore you begin, contact our Support Team to enable cashbacks.\n\n\n\nIssue a cashback\n\n\nDetermine the following values that you will need to pass in your payment request:\n\nThe cashback amount.\n\nThe sum of the cashback amount and the amount due for the shopper's purchases.\n\n\n\n\n\nMake a payment request, including:\n\n\nThe  PaymentTransaction object with the total and cashback amounts:\n\n\n\nParameter\nDescription\n\n\n\n\nAmountsReq.RequestedAmount\nThe total amount to be paid by the shopper. That is the amount of the purchase plus the amount of the cashback.\n\n\nAmountsReq.CashBackAmount\nThe cashback amount.\n\n\n\n\n\nThe example below shows the request for a shopper who purchased goods for 10 AUD, and wants to get a cashback of 2 AUD:\n\n\n\n\n\nWhen you receive the payment response, check the  PaymentResponse.Response.Result:\n\n\nSuccess means the issuer authorized both the payment and the cashback.\nThe amount in the PaymentResult.AmountsResp.CashBackAmount field is the amount that you need to pay to the shopper in cash.\n\n\nPartial means the issuer authorized the payment but not the cashback.\n\n\n\n\n\n\n\nSupported cards and countries\/regions\nCashback is supported for:\n\neftpos debit cards in Australia.\ngirocard debit cards in Germany. Only with a purchase.\nMastercard in Europe. Only with a purchase, and only in specific countries\/regions. Contact our Support Team to learn for which countries\/regions cashback can be enabled.\nVisa in Europe. Only with a purchase\n\nSee also\n\n\n                    Capture payments\n                \n                    Payment methods\n                \n","type":"page","locale":"en","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"In-person payments","lvl2":"Cashback"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/point-of-sale","lvl2":"\/point-of-sale\/cashback-and-cash-out"},"levels":3,"category":"In-person payments","category_color":"green","tags":["Cashback"]},"articleFiles":{"cashback-and-cash-out_0.json":"<p alt=\"\">cashback-and-cash-out_0.json<\/p>"}}
