{"title":"Installments in Brazil","category":"default","creationDate":1754468820,"content":"<p>In Brazil, shoppers commonly use a combo card that has both a debit and a credit functionality, and most credit cards accept installment payments. Consequently, when paying by card, shoppers are asked to make some choices:<\/p>\n<ul>\n<li>Do they want to pay by credit, debit, or voucher?<\/li>\n<li>If credit, do they want to make a one-off payment of the total amount or do they want to pay in installments?<\/li>\n<li>If installments, how many installments?<\/li>\n<\/ul>\n<p>Here we explain how to flag in-store card payments as credit or debit and make credit card installment payments using one of the following flows:<\/p>\n<ul>\n<li><a href=\"#automatic-flow\">Adyen UI<\/a>: with this flow enabled, the terminal automatically shows screens that let the shopper make their choices, and then processes the payment request according to those choices. This flow works for integrated and standalone payment terminals.<\/li>\n<li><a href=\"#terminal-api\">Your own UI<\/a>: you create your own UI or use some other process to get the shopper's choices, and then pass this information in your payment request.<\/li>\n<\/ul>\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;\">A <a href=\"\/point-of-sale\/basic-tapi-integration\/\">Terminal API<\/a> integration with payment terminals or a <a href=\"\/point-of-sale\/standalone\">standalone solution<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Note the following: <ul><li markdown=\"1\">Installments with combo cards is supported in Brazil.<\/li><li markdown=\"1\">The <a href=\"#automatic-flow\">automatic flow<\/a> requires terminal software version <span translate=\"no\"><strong>v1.119<\/strong><\/span> or later.<\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">To <a href=\"#automatic-flow\">use the Adyen UI flow<\/a>, ask 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 that flow. Let them know whether you want this to be configured for a company account, a merchant account, a store, or a terminal.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"automatic-flow\">Adyen UI<\/h2>\n<p>To use the Adyen UI flow, you must 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> and let them know whether you want this to be enabled for a company or merchant account, a store, or a terminal. The Adyen UI flow works for integrated and standalone payment terminals.<\/p>\n<p>When enabled, the flow is as follows:<\/p>\n<ol>\n<li>\n<p>You initiate a payment like you usually do.<\/p>\n<\/li>\n<li>\n<p>The terminal shows a series of prompts:<\/p>\n<ol>\n<li>First, the terminal asks the shopper to choose if they want to pay by credit, debit, or voucher.<\/li>\n<li>If the shopper selects <strong>Credit<\/strong>, the terminal asks them to select if they want to pay in <strong>Installments<\/strong> or as a <strong>One-off<\/strong> payment.<\/li>\n<li>If the shopper selects <strong>Installments<\/strong>, the terminal asks them to <strong>Enter the number of installments<\/strong> and select <strong>Confirm<\/strong>.<\/li>\n<\/ol>\n<!-- list separator -->\n<table>\n<thead>\n<tr>\n<th style=\"text-align: center;\"><\/th>\n<th style=\"text-align: center;\"><\/th>\n<th style=\"text-align: center;\"><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: center;\">Select card type screen <br> <img alt=\"Screen to select Credit, Debit, or Voucher\" src=\"\/images\/d\/e\/0\/1\/8\/de018680c838574acbbd939a349ff4f964d8f5b1-screen-encard-selection-screen.png\" \/><\/td>\n<td style=\"text-align: center;\">Select payment type screen <br> <img alt=\"Screen to select one-off payment or installments\" src=\"\/images\/e\/6\/3\/d\/8\/e63d8064b533a1bca17c044557608031d1c35d97-screen-enpayment-type-selection-screen.png\" \/><\/td>\n<td style=\"text-align: center;\">Enter number of installments screen <br> <img alt=\"Screen to select the number of installments\" src=\"\/images\/a\/b\/b\/2\/7\/abb27f577e19f9813f4a2b6d66af10b2fd714e91-screen-eninstallments-screen.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>The terminal asks the shopper to present their card.<\/p>\n<\/li>\n<li>\n<p>The shopper completes the payment on the terminal. They may need to enter their PIN or signature to verify the payment.<br \/>\nWhen applicable, the generated receipt includes the number of installments, for example, \"Cr\u00e9dito em 12 parcelas\" (\"Credit in 12 installments\").<\/p>\n<\/li>\n<\/ol>\n<p>On an integrated terminal, you can find the installment information in the Terminal API response:<\/p>\n<ul>\n<li><code>PaymentResult.PaymentType<\/code>: <span translate=\"no\"><strong>Instalment<\/strong><\/span>.<\/li>\n<li><code>PaymentResult.Instalment<\/code>: an object containing:\n<ul>\n<li><code>InstalmentType<\/code>: <span translate=\"no\"><strong>EqualInstalments<\/strong><\/span><\/li>\n<li><code>SequenceNumber<\/code>: <strong>1<\/strong><\/li>\n<li><code>Period<\/code>: <strong>1<\/strong><\/li>\n<li><code>PeriodUnit<\/code>: <span translate=\"no\"><strong>Monthly<\/strong><\/span><\/li>\n<li><code>TotalNbOfPayments<\/code>: the number of installments.<\/li>\n<\/ul><\/li>\n<li><code>Response.AdditionalResponse<\/code>: <span translate=\"no\"><strong>installments=<\/strong><\/span> with the number of installments.<\/li>\n<\/ul>\n<h2 id=\"terminal-API-flow\">Your own UI<\/h2>\n<p>As an alternative to the Adyen UI, you can design your own custom UI to collect the customer's preference. Your Terminal API request then needs to flag the credit card transaction as credit and make credit card installment payments.<\/p>\n<p>The flow at the point of sale is as follows:<\/p>\n<ol>\n<li>You collect the information about whether the shopper prefers to pay by credit, debit, or voucher, and if applicable, in how many installments. You can do this in various ways, for example:\n<ul>\n<li>Your store staff asks the shopper about their preferences.<\/li>\n<li>You collect the shopper's preferences on a secondary screen, for instance a tablet.<\/li>\n<li>You use <a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/\">input requests<\/a>  to collect the shopper's preferences on the payment terminal.<\/li>\n<\/ul><\/li>\n<li>You use logic to pass the collected information to your POS app or your store staff enters this information manually into your POS app.<\/li>\n<li>Your POS app passes this information to the <a href=\"#terminal-api\">payment request<\/a>.<\/li>\n<li>The shopper presents their card to the terminal and completes the payment.<\/li>\n<\/ol>\n<p>If the customer paid in installments, the response contains the installment details and the receipt data includes the number of installments, for example, \"Cr\u00e9dito em 12 parcelas\" (\"Credit in 12 installments\").<\/p>\n<h3 id=\"terminal-api\">Make a payment with Terminal API<\/h3>\n<p>When paying in installments, the Terminal API payment request needs to indicate that the payment type is credit, and contain an object to define the installments.<\/p>\n<p>There are two ways to indicate the payment type:<\/p>\n<ul>\n<li><strong><code>selectedAccountType<\/code><\/strong>:<br \/>\nThis method is recommended because it also applies to meal or food <a href=\"\/point-of-sale\/alternative-payment-methods\/brazil-vouchers\">vouchers<\/a>. You create a JSON object containing <code>selectedAccountType<\/code> with a value of <span translate=\"no\"><strong>CREDIT<\/strong><\/span>, <span translate=\"no\"><strong>CHEQUE<\/strong><\/span>, or <span translate=\"no\"><strong>MEAL_VOUCHER<\/strong><\/span>. Then you Base64-encode the JSON object and pass the resulting string in your Terminal API request, in the <code>SaleToPOIData<\/code> field.<\/li>\n<li><strong><code>DebitPreferredFlag<\/code><\/strong>:<br \/>\nThis method is limited to credit or debit. You add <code>TransactionConditions.DebitPreferredFlag<\/code> set to <span translate=\"no\"><strong>false<\/strong><\/span> for credit, or <span translate=\"no\"><strong>true<\/strong><\/span> for debit.<\/li>\n<\/ul>\n<p>In the event that both <code>DebitPreferredFlag<\/code> and <code>selectedAccountType<\/code> occur in the same request, <code>selectedAccountType<\/code> takes precedence and its value is used.<\/p>\n<ol>\n<li>\n<p>Make sure that your POS app collects the following information and passes it to the Terminal API payment request:<\/p>\n<ul>\n<li>The payment type: credit or debit (or voucher).<\/li>\n<li>If credit: whether the shopper wants to pay in installments.<\/li>\n<li>If credit installments: how many installments.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>If you want to indicate the payment type using <code>selectedAccountType<\/code>:<\/p>\n<ol>\n<li>\n<p>Create a JSON object consisting of the <code>selectedAccountType<\/code> parameter with the value <span translate=\"no\"><strong>CREDIT<\/strong><\/span>, or <span translate=\"no\"><strong>CHEQUE<\/strong><\/span> for debit, or <span translate=\"no\"><strong>MEAL_VOUCHER<\/strong><\/span> for a voucher.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'JSON object'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\\"selectedAccountType\\\": \\\"CREDIT\\\"}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Encode the JSON object to Base64. You will pass the resulting string in <code>SaleData.SaleToPOIData<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Converted to a Base64-encoded string'\" :id=\"''\" :code-data='[{\"language\":\"raw\",\"tabTitle\":\"\",\"content\":\"eyJzZWxlY3RlZEFjY291bnRUeXBlIjogIkNSRURJVCJ9\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<p><a href=\"\/point-of-sale\/basic-tapi-integration\/make-a-payment\">Make a payment request<\/a>, specifying:<\/p>\n<ul>\n<li>\n<p>The standard <a href=\"\/point-of-sale\/design-your-integration\/terminal-api#request-message-header\">\n  <code>SaleToPOIRequest.MessageHeader<\/code>\n<\/a> object, with <code>MessageClass<\/code> set to <span translate=\"no\"><strong>Service<\/strong><\/span> and <code>MessageCategory<\/code> set to <span translate=\"no\"><strong>Payment<\/strong><\/span>.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>ProtocolVersion<\/code><\/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 style=\"text-align: left;\"><strong>3.0<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageClass<\/code><\/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 style=\"text-align: left;\"><span translate=\"no\"><strong>Service<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageCategory<\/code><\/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 style=\"text-align: left;\"><span translate=\"no\"><strong>Payment<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageType<\/code><\/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 style=\"text-align: left;\"><span translate=\"no\"><strong>Request<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>ServiceID<\/code><\/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 style=\"text-align: left;\">Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (<code>POIID<\/code>) being used.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>SaleID<\/code><\/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 style=\"text-align: left;\">Your unique ID for the POS system component to send this request from.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>POIID<\/code><\/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 style=\"text-align: left;\">The unique ID of the terminal to send this request to. Format: <em>[device model]-[serial number]<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentRequest<\/a> object with:<\/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><code>SaleData.SaleTransactionID<\/code><\/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>An object with: <ul><li markdown=\"1\"><code>TransactionID<\/code>: your reference to identify a payment. We recommend using a unique value per payment. In your Customer Area and Adyen reports, this shows as the <strong>merchant reference<\/strong> for the transaction.<\/li> <li markdown=\"1\"><code>TimeStamp<\/code>: date and time of the request in <a href=\"https:\/\/en.wikipedia.org\/wiki\/ISO_8601#Coordinated_Universal_Time_(UTC)\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">UTC format<\/a>.<\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td><code>PaymentTransaction.AmountsReq<\/code><\/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>An object with: <ul><li markdown=\"1\"><code>Currency<\/code>: the transaction <a href=\"\/development-resources\/currency-codes\">currency<\/a>.<\/li><li markdown=\"1\"><code>RequestedAmount<\/code>: The final transaction amount.<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>The payment type, specified in one of the following ways:<\/p>\n<ul>\n<li>\n<p><code>SaleData.SaleToPOIData<\/code> with the Base64-encoded string from step 2 as its value.<\/p>\n<\/li>\n<li>\n<p><code>TransactionConditions.DebitPreferredFlag<\/code> set to <span translate=\"no\"><strong>false<\/strong><\/span> for credit, or <span translate=\"no\"><strong>true<\/strong><\/span> for debit.<\/p>\n<\/li>\n<\/ul>\n<p>For a debit card payment or a one-off credit card payment, no further parameters are required.<\/p>\n<\/li>\n<li>\n<p>If the shopper is paying by credit card in installments, define the installments by adding <code>PaymentData<\/code> object with:<\/p>\n<ul>\n<li><code>PaymentType<\/code>: <span translate=\"no\"><strong>Instalment<\/strong><\/span><\/li>\n<li><code>Instalment.InstalmentType<\/code>: <span translate=\"no\"><strong>EqualInstalments<\/strong><\/span><\/li>\n<li><code>Instalment.SequenceNumber<\/code>: <strong>1<\/strong><\/li>\n<li><code>Instalment.Period<\/code>: <strong>1<\/strong><\/li>\n<li><code>Instalment.PeriodUnit<\/code>: <span translate=\"no\"><strong>Monthly<\/strong><\/span><\/li>\n<li><code>Instalment.TotalNbOfPayments<\/code>: the number of installments. The minimum is <strong>2<\/strong>, the maximum <strong>36<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>To see some sample requests, select your method.<\/p>\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#selected-account-type-method\">\n                                    <h3 class=\"adl-accordion__title\">selectedAccountType method<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n\n<div id=\"tabLZyBg\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Credit payment with 12 installments&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;{\\n \\&quot;SaleToPOIRequest\\&quot;: {\\n   \\&quot;MessageHeader\\&quot;: {\\n     \\&quot;ProtocolVersion\\&quot;: \\&quot;3.0\\&quot;,\\n     \\&quot;MessageClass\\&quot;: \\&quot;Service\\&quot;,\\n     \\&quot;MessageCategory\\&quot;: \\&quot;Payment\\&quot;,\\n     \\&quot;MessageType\\&quot;: \\&quot;Request\\&quot;,\\n     \\&quot;ServiceID\\&quot;: \\&quot;2307d64b8\\&quot;,\\n     \\&quot;SaleID\\&quot;: \\&quot;Demo\\&quot;,\\n     \\&quot;POIID\\&quot;: \\&quot;P400Plus-275040710\\&quot;\\n   },\\n   \\&quot;PaymentRequest\\&quot;: {\\n     \\&quot;SaleData\\&quot;: {\\n       \\&quot;SaleTransactionID\\&quot;: {\\n         \\&quot;TransactionID\\&quot;: \\&quot;TID-2018-07-23-21:43:03\\&quot;,\\n         \\&quot;TimeStamp\\&quot;: \\&quot;2018-07-23T21:43:03\\&quot;\\n       },\\n       \\&quot;SaleReferenceID\\&quot;: \\&quot;TID-2018-07-23-21:43:03\\&quot;,\\n       \\&quot;SaleToAcquirerData\\&quot;: \\&quot;\\&quot;,\\n       \\&quot;SaleToPOIData\\&quot;: \\&quot;eyJzZWxlY3RlZEFjY291bnRUeXBlIjogIkNSRURJVCJ9\\&quot;\\n     },\\n     \\&quot;PaymentTransaction\\&quot;: {\\n       \\&quot;AmountsReq\\&quot;: {\\n         \\&quot;Currency\\&quot;: \\&quot;BRL\\&quot;,\\n         \\&quot;RequestedAmount\\&quot;: 120.00\\n       }\\n     },\\n     \\&quot;PaymentData\\&quot;: {\\n       \\&quot;PaymentType\\&quot;: \\&quot;Instalment\\&quot;,\\n       \\&quot;Instalment\\&quot;: {\\n         \\&quot;InstalmentType\\&quot;: \\&quot;EqualInstalments\\&quot;,\\n         \\&quot;SequenceNumber\\&quot;: 1,\\n         \\&quot;Period\\&quot;: 1,\\n         \\&quot;PeriodUnit\\&quot;: \\&quot;Monthly\\&quot;,\\n         \\&quot;TotalNbOfPayments\\&quot;: 12\\n       }\\n     }\\n   }\\n }\\n}&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Credit payment without installments&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;{\\n \\&quot;SaleToPOIRequest\\&quot;: {\\n   \\&quot;MessageHeader\\&quot;: {\\n     \\&quot;ProtocolVersion\\&quot;: \\&quot;3.0\\&quot;,\\n     \\&quot;MessageClass\\&quot;: \\&quot;Service\\&quot;,\\n     \\&quot;MessageCategory\\&quot;: \\&quot;Payment\\&quot;,\\n     \\&quot;MessageType\\&quot;: \\&quot;Request\\&quot;,\\n     \\&quot;ServiceID\\&quot;: \\&quot;2307d64b8\\&quot;,\\n     \\&quot;SaleID\\&quot;: \\&quot;Demo\\&quot;,\\n     \\&quot;POIID\\&quot;: \\&quot;P400Plus-275040710\\&quot;\\n   },\\n   \\&quot;PaymentRequest\\&quot;: {\\n     \\&quot;SaleData\\&quot;: {\\n       \\&quot;SaleTransactionID\\&quot;: {\\n         \\&quot;TransactionID\\&quot;: \\&quot;TID-2018-07-23-21:43:03\\&quot;,\\n         \\&quot;TimeStamp\\&quot;: \\&quot;2018-07-23T21:43:03\\&quot;\\n       },\\n       \\&quot;SaleReferenceID\\&quot;: \\&quot;TID-2018-07-23-21:43:03\\&quot;,\\n       \\&quot;SaleToAcquirerData\\&quot;: \\&quot;\\&quot;,\\n       \\&quot;SaleToPOIData\\&quot;: \\&quot;eyJzZWxlY3RlZEFjY291bnRUeXBlIjogIkNSRURJVCJ9\\&quot;\\n     },\\n     \\&quot;PaymentTransaction\\&quot;: {\\n       \\&quot;AmountsReq\\&quot;: {\\n         \\&quot;Currency\\&quot;: \\&quot;BRL\\&quot;,\\n         \\&quot;RequestedAmount\\&quot;: 120.00\\n       }\\n     }\\n   }\\n }\\n}&lt;\\\/code&gt;&lt;\\\/pre&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Debit payment&quot;,&quot;content&quot;:&quot;\\n&lt;pre&gt;&lt;code class=\\&quot;language-json\\&quot;&gt;{\\n \\&quot;SaleToPOIRequest\\&quot;: {\\n   \\&quot;MessageHeader\\&quot;: {\\n     \\&quot;ProtocolVersion\\&quot;: \\&quot;3.0\\&quot;,\\n     \\&quot;MessageClass\\&quot;: \\&quot;Service\\&quot;,\\n     \\&quot;MessageCategory\\&quot;: \\&quot;Payment\\&quot;,\\n     \\&quot;MessageType\\&quot;: \\&quot;Request\\&quot;,\\n     \\&quot;ServiceID\\&quot;: \\&quot;2307d64b8\\&quot;,\\n     \\&quot;SaleID\\&quot;: \\&quot;Demo\\&quot;,\\n     \\&quot;POIID\\&quot;: \\&quot;P400Plus-275040710\\&quot;\\n   },\\n   \\&quot;PaymentRequest\\&quot;: {\\n     \\&quot;SaleData\\&quot;: {\\n       \\&quot;SaleTransactionID\\&quot;: {\\n         \\&quot;TransactionID\\&quot;: \\&quot;TID-2018-07-23-21:43:03\\&quot;,\\n         \\&quot;TimeStamp\\&quot;: \\&quot;2018-07-23T21:43:03\\&quot;\\n       },\\n       \\&quot;SaleReferenceID\\&quot;: \\&quot;TID-2018-07-23-21:43:03\\&quot;,\\n       \\&quot;SaleToAcquirerData\\&quot;: \\&quot;\\&quot;,\\n       \\&quot;SaleToPOIData\\&quot;: \\&quot;eyJzZWxlY3RlZEFjY291bnRUeXBlIjogIkNIRVFVRSJ9\\&quot;\\n     },\\n     \\&quot;PaymentTransaction\\&quot;: {\\n       \\&quot;AmountsReq\\&quot;: {\\n         \\&quot;Currency\\&quot;: \\&quot;BRL\\&quot;,\\n         \\&quot;RequestedAmount\\&quot;: 120.00\\n       }\\n     }\\n   }\\n }\\n}&lt;\\\/code&gt;&lt;\\\/pre&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\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"accordion-shortcode adl-accordion adl-accordion--max-height-transition\" data-expand=\"true\" data-ignore=\"anchorjs-link\">\n    \n    <div class=\"adl-accordion__item\" style=\"\">\n        <div tabindex=\"0\" role=\"item\" aria-expanded=\"false\" class=\"adl-accordion__header\">\n            <i class=\"adl-accordion__toggle adl-icon-chevron-down\"><\/i>\n            <div class=\"adl-accordion__title-wrapper\" data-accordion=\"#debit-preferred-flag-method\">\n                                    <h3 class=\"adl-accordion__title\">DebitPreferredFlag method<\/h3>\n                            <\/div>\n        <\/div>\n        <div role=\"region\" class=\"adl-accordion__content\">\n            \n\n<div id=\"tabPG4cA\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Credit payment with 12 installments&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;&#039;\\&quot; :id=\\&quot;&#039;brazil-payments_2&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;JSON\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;: {\\\\n    \\\\\\&quot;MessageHeader\\\\\\&quot;: {\\\\n      \\\\\\&quot;ProtocolVersion\\\\\\&quot;: \\\\\\&quot;3.0\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageClass\\\\\\&quot;: \\\\\\&quot;Service\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageCategory\\\\\\&quot;: \\\\\\&quot;Payment\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageType\\\\\\&quot;: \\\\\\&quot;Request\\\\\\&quot;,\\\\n      \\\\\\&quot;ServiceID\\\\\\&quot;: \\\\\\&quot;2307d64b8\\\\\\&quot;,\\\\n      \\\\\\&quot;SaleID\\\\\\&quot;: \\\\\\&quot;Demo\\\\\\&quot;,\\\\n      \\\\\\&quot;POIID\\\\\\&quot;: \\\\\\&quot;P400Plus-275040710\\\\\\&quot;\\\\n    },\\\\n    \\\\\\&quot;PaymentRequest\\\\\\&quot;: {\\\\n      \\\\\\&quot;SaleData\\\\\\&quot;: {\\\\n        \\\\\\&quot;SaleTransactionID\\\\\\&quot;: {\\\\n          \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;,\\\\n          \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2018-07-23T21:43:03\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;SaleReferenceID\\\\\\&quot;: \\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;,\\\\n        \\\\\\&quot;SaleToAcquirerData\\\\\\&quot;: \\\\\\&quot;\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;PaymentTransaction\\\\\\&quot;: {\\\\n        \\\\\\&quot;AmountsReq\\\\\\&quot;: {\\\\n          \\\\\\&quot;Currency\\\\\\&quot;: \\\\\\&quot;BRL\\\\\\&quot;,\\\\n          \\\\\\&quot;RequestedAmount\\\\\\&quot;: 120.00\\\\n        },\\\\n        \\\\\\&quot;TransactionConditions\\\\\\&quot;: {\\\\n          \\\\\\&quot;DebitPreferredFlag\\\\\\&quot;: false\\\\n        }\\\\n      },\\\\n      \\\\\\&quot;PaymentData\\\\\\&quot;: {\\\\n        \\\\\\&quot;PaymentType\\\\\\&quot;: \\\\\\&quot;Instalment\\\\\\&quot;,\\\\n        \\\\\\&quot;Instalment\\\\\\&quot;: {\\\\n          \\\\\\&quot;InstalmentType\\\\\\&quot;: \\\\\\&quot;EqualInstalments\\\\\\&quot;,\\\\n          \\\\\\&quot;SequenceNumber\\\\\\&quot;: 1,\\\\n          \\\\\\&quot;Period\\\\\\&quot;: 1,\\\\n          \\\\\\&quot;PeriodUnit\\\\\\&quot;: \\\\\\&quot;Monthly\\\\\\&quot;,\\\\n          \\\\\\&quot;TotalNbOfPayments\\\\\\&quot;: 12\\\\n        }\\\\n      }\\\\n    }\\\\n  }\\\\n}\\&quot;},{\\&quot;language\\&quot;:\\&quot;java\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;Java\\&quot;,\\&quot;content\\&quot;:\\&quot;String serviceID = \\\\\\&quot;YOUR_UNIQUE_ATTEMPT_ID\\\\\\&quot;;\\\\nString saleID = \\\\\\&quot;YOUR_CASH_REGISTER_ID\\\\\\&quot;;\\\\nString POIID = \\\\\\&quot;YOUR_TERMINAL_ID\\\\\\&quot;;\\\\nString transactionID = \\\\\\&quot;YOUR_UNIQUE_TRANSACTION_ID\\\\\\&quot;;\\\\n\\\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\\\nMessageHeader messageHeader = new MessageHeader();\\\\nmessageHeader.setProtocolVersion(\\\\\\&quot;3.0\\\\\\&quot;);\\\\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);\\\\nsaleData.setSaleReferenceID(\\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;);\\\\nsaleData.setSaleToAcquirerData(\\\\\\&quot;\\\\\\&quot;);\\\\npaymentRequest.setSaleData(saleData);\\\\n\\\\nPaymentTransaction paymentTransaction = new PaymentTransaction();\\\\nAmountsReq amountsReq = new AmountsReq();\\\\namountsReq.setCurrency(\\\\\\&quot;BRL\\\\\\&quot;);\\\\namountsReq.setRequestedAmount( BigDecimal.valueOf(120.00) );\\\\npaymentTransaction.setAmountsReq(amountsReq);\\\\n\\\\nTransactionConditions transactionConditions = new TransactionConditions();\\\\ntransactionConditions.setDebitPreferredFlag( Boolean.FALSE );\\\\npaymentTransaction.setTransactionConditions(transactionConditions);\\\\npaymentRequest.setPaymentTransaction(paymentTransaction);\\\\nsaleToPOIRequest.setPaymentRequest(paymentRequest);\\\\n\\\\nPaymentData paymentData = new PaymentData();\\\\npaymentData.setPaymentType( PaymentType.INSTALMENT );\\\\nInstalment instalment = new Instalment();\\\\ninstalment.getInstalmentType.add( InstalmentType.EQUAL_INSTALMENTS );\\\\ninstalment.setSequenceNumber(1);\\\\ninstalment.setPeriod(1);\\\\ninstalment.setPeriodUnit( PeriodUnitType.MONTHLY );\\\\ninstalment.setTotalNbOfPayments(12);\\\\npaymentData.setInstalment(instalment);\\\\nsaleToPOIRequest.setPaymentData(paymentData);\\\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Credit payment without installments&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;&#039;\\&quot; :id=\\&quot;&#039;brazil-payments_1&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;JSON\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;: {\\\\n    \\\\\\&quot;MessageHeader\\\\\\&quot;: {\\\\n      \\\\\\&quot;ProtocolVersion\\\\\\&quot;: \\\\\\&quot;3.0\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageClass\\\\\\&quot;: \\\\\\&quot;Service\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageCategory\\\\\\&quot;: \\\\\\&quot;Payment\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageType\\\\\\&quot;: \\\\\\&quot;Request\\\\\\&quot;,\\\\n      \\\\\\&quot;ServiceID\\\\\\&quot;: \\\\\\&quot;2307d64b8\\\\\\&quot;,\\\\n      \\\\\\&quot;SaleID\\\\\\&quot;: \\\\\\&quot;Demo\\\\\\&quot;,\\\\n      \\\\\\&quot;POIID\\\\\\&quot;: \\\\\\&quot;P400Plus-275040710\\\\\\&quot;\\\\n    },\\\\n    \\\\\\&quot;PaymentRequest\\\\\\&quot;: {\\\\n      \\\\\\&quot;SaleData\\\\\\&quot;: {\\\\n        \\\\\\&quot;SaleTransactionID\\\\\\&quot;: {\\\\n          \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;,\\\\n          \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2018-07-23T21:43:03\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;SaleReferenceID\\\\\\&quot;: \\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;,\\\\n        \\\\\\&quot;SaleToAcquirerData\\\\\\&quot;: \\\\\\&quot;\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;PaymentTransaction\\\\\\&quot;: {\\\\n        \\\\\\&quot;AmountsReq\\\\\\&quot;: {\\\\n          \\\\\\&quot;Currency\\\\\\&quot;: \\\\\\&quot;BRL\\\\\\&quot;,\\\\n          \\\\\\&quot;RequestedAmount\\\\\\&quot;: 120.00\\\\n        },\\\\n        \\\\\\&quot;TransactionConditions\\\\\\&quot;: {\\\\n          \\\\\\&quot;DebitPreferredFlag\\\\\\&quot;: false\\\\n        }\\\\n      }\\\\n    }\\\\n  }\\\\n}\\&quot;},{\\&quot;language\\&quot;:\\&quot;java\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;Java\\&quot;,\\&quot;content\\&quot;:\\&quot;String serviceID = \\\\\\&quot;YOUR_UNIQUE_ATTEMPT_ID\\\\\\&quot;;\\\\nString saleID = \\\\\\&quot;YOUR_CASH_REGISTER_ID\\\\\\&quot;;\\\\nString POIID = \\\\\\&quot;YOUR_TERMINAL_ID\\\\\\&quot;;\\\\nString transactionID = \\\\\\&quot;YOUR_UNIQUE_TRANSACTION_ID\\\\\\&quot;;\\\\n\\\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\\\nMessageHeader messageHeader = new MessageHeader();\\\\nmessageHeader.setProtocolVersion(\\\\\\&quot;3.0\\\\\\&quot;);\\\\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);\\\\nsaleData.setSaleReferenceID(\\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;);\\\\nsaleData.setSaleToAcquirerData(\\\\\\&quot;\\\\\\&quot;);\\\\npaymentRequest.setSaleData(saleData);\\\\n\\\\nPaymentTransaction paymentTransaction = new PaymentTransaction();\\\\nAmountsReq amountsReq = new AmountsReq();\\\\namountsReq.setCurrency(\\\\\\&quot;BRL\\\\\\&quot;);\\\\namountsReq.setRequestedAmount( BigDecimal.valueOf(120.00) );\\\\npaymentTransaction.setAmountsReq(amountsReq);\\\\n\\\\nTransactionConditions transactionConditions = new TransactionConditions();\\\\ntransactionConditions.setDebitPreferredFlag( Boolean.FALSE );\\\\npaymentTransaction.setTransactionConditions(transactionConditions);\\\\npaymentRequest.setPaymentTransaction(paymentTransaction);\\\\nsaleToPOIRequest.setPaymentRequest(paymentRequest);\\\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&quot;,&quot;altTitle&quot;:null,&quot;oldTabId&quot;:1,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Debit payment&quot;,&quot;content&quot;:&quot;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;&#039;\\&quot; :id=\\&quot;&#039;brazil-payments_0&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;JSON\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n  \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;: {\\\\n    \\\\\\&quot;MessageHeader\\\\\\&quot;: {\\\\n      \\\\\\&quot;ProtocolVersion\\\\\\&quot;: \\\\\\&quot;3.0\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageClass\\\\\\&quot;: \\\\\\&quot;Service\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageCategory\\\\\\&quot;: \\\\\\&quot;Payment\\\\\\&quot;,\\\\n      \\\\\\&quot;MessageType\\\\\\&quot;: \\\\\\&quot;Request\\\\\\&quot;,\\\\n      \\\\\\&quot;ServiceID\\\\\\&quot;: \\\\\\&quot;2307d64b8\\\\\\&quot;,\\\\n      \\\\\\&quot;SaleID\\\\\\&quot;: \\\\\\&quot;Demo\\\\\\&quot;,\\\\n      \\\\\\&quot;POIID\\\\\\&quot;: \\\\\\&quot;P400Plus-275040710\\\\\\&quot;\\\\n    },\\\\n    \\\\\\&quot;PaymentRequest\\\\\\&quot;: {\\\\n      \\\\\\&quot;SaleData\\\\\\&quot;: {\\\\n        \\\\\\&quot;SaleTransactionID\\\\\\&quot;: {\\\\n          \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;,\\\\n          \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2018-07-23T21:43:03\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;SaleReferenceID\\\\\\&quot;: \\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;,\\\\n        \\\\\\&quot;SaleToAcquirerData\\\\\\&quot;: \\\\\\&quot;\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;PaymentTransaction\\\\\\&quot;: {\\\\n        \\\\\\&quot;AmountsReq\\\\\\&quot;: {\\\\n          \\\\\\&quot;Currency\\\\\\&quot;: \\\\\\&quot;BRL\\\\\\&quot;,\\\\n          \\\\\\&quot;RequestedAmount\\\\\\&quot;: 120.00\\\\n        },\\\\n        \\\\\\&quot;TransactionConditions\\\\\\&quot;: {\\\\n          \\\\\\&quot;DebitPreferredFlag\\\\\\&quot;: true\\\\n        }\\\\n      }\\\\n    }\\\\n  }\\\\n}\\&quot;},{\\&quot;language\\&quot;:\\&quot;java\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;Java\\&quot;,\\&quot;content\\&quot;:\\&quot;String serviceID = \\\\\\&quot;YOUR_UNIQUE_ATTEMPT_ID\\\\\\&quot;;\\\\nString saleID = \\\\\\&quot;YOUR_CASH_REGISTER_ID\\\\\\&quot;;\\\\nString POIID = \\\\\\&quot;YOUR_TERMINAL_ID\\\\\\&quot;;\\\\nString transactionID = \\\\\\&quot;YOUR_UNIQUE_TRANSACTION_ID\\\\\\&quot;;\\\\n\\\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\\\nMessageHeader messageHeader = new MessageHeader();\\\\nmessageHeader.setProtocolVersion(\\\\\\&quot;3.0\\\\\\&quot;);\\\\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);\\\\nsaleData.setSaleReferenceID(\\\\\\&quot;TID-2018-07-23-21:43:03\\\\\\&quot;);\\\\nsaleData.setSaleToAcquirerData(\\\\\\&quot;\\\\\\&quot;);\\\\npaymentRequest.setSaleData(saleData);\\\\n\\\\nPaymentTransaction paymentTransaction = new PaymentTransaction();\\\\nAmountsReq amountsReq = new AmountsReq();\\\\namountsReq.setCurrency(\\\\\\&quot;BRL\\\\\\&quot;);\\\\namountsReq.setRequestedAmount( BigDecimal.valueOf(120.00) );\\\\npaymentTransaction.setAmountsReq(amountsReq);\\\\n\\\\nTransactionConditions transactionConditions = new TransactionConditions();\\\\ntransactionConditions.setDebitPreferredFlag( Boolean.TRUE );\\\\npaymentTransaction.setTransactionConditions(transactionConditions);\\\\npaymentRequest.setPaymentTransaction(paymentTransaction);\\\\nsaleToPOIRequest.setPaymentRequest(paymentRequest);\\\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&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\n        <\/div>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p>If the payment is successful, the terminal shows the payment is approved, and you receive a   <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment#responses-200\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentResponse<\/a> that contains:<\/p>\n<ul>\n<li>\n<p><code>PaymentReceipt<\/code>: Dynamically generated receipt data that you can use for printing (or emailing) receipts. Both the merchant receipt and the shopper receipt have additional required keys:<\/p>\n<ul>\n<li><code>productType<\/code>: Indicates if the shopper paid by debit, credit, or credit in a specified number of installments.<\/li>\n<li>\n<p><code>cnpj<\/code>: identification number issued for the Brazilian National Registry of Legal Entities.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>If the shopper paid in installments, the response also includes:<\/p>\n<ul>\n<li><code>PaymentResult.PaymentType<\/code>: <span translate=\"no\"><strong>Instalment<\/strong><\/span>.<\/li>\n<li><code>PaymentResult.Instalment<\/code>: An object containing the same installment details that you defined in the <code>PaymentData<\/code> of your payment request.<\/li>\n<li>\n<p><code>Response.AdditionalResponse<\/code>: <span translate=\"no\"><strong>installments=<\/strong><\/span> with the number of installments.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Here is a sample response for a <strong>credit card payment with 12 installments<\/strong>:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Payment response'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\":{\\n        \\\"MessageHeader\\\":{...},\\n        \\\"PaymentResponse\\\":{\\n            \\\"PaymentReceipt\\\":[\\n                {\\n                    \\\"OutputContent\\\":{\\n                        \\\"OutputFormat\\\":\\\"Text\\\",\\n                        \\\"OutputText\\\":[\\n                            ...\\n                            {\\n                                \\\"EndOfLineFlag\\\":true,\\n                                \\\"Text\\\":\\\"key=productType&amp;name=productType&amp;value=Credit%20in%2012%20Installments\\\"\\n                            },\\n                            {\\n                                \\\"EndOfLineFlag\\\":true,\\n                                \\\"Text\\\":\\\"key=cnpj&amp;name=cnpj&amp;value=00.000.000%2F0000-00\\\"\\n                            },\\n                            ...\\n                        ]\\n                    },\\n                    \\\"DocumentQualifier\\\":\\\"CashierReceipt\\\"\\n                },\\n                {\\n                    \\\"OutputContent\\\":{\\n                        \\\"OutputFormat\\\":\\\"Text\\\",\\n                        \\\"OutputText\\\":[\\n                            ...\\n                            {\\n                                \\\"EndOfLineFlag\\\":true,\\n                                \\\"Text\\\":\\\"key=productType&amp;name=productType&amp;value=Credit%20in%2012%20Installments\\\"\\n                            },\\n                            {\\n                                \\\"EndOfLineFlag\\\":true,\\n                                \\\"Text\\\":\\\"key=cnpj&amp;name=cnpj&amp;value=00.000.000%2F0000-00\\\"\\n                            },\\n                            ...\\n                        ]\\n                    },\\n                    \\\"DocumentQualifier\\\":\\\"CustomerReceipt\\\"\\n                }\\n            ],\\n            \\\"POIData\\\":{...},\\n            \\\"PaymentResult\\\":{\\n                \\\"PaymentType\\\":\\\"Instalment\\\",\\n                ...\\n                \\\"Instalment\\\":{\\n                    \\\"InstalmentType\\\":\\\"EqualInstalments\\\",\\n                    \\\"SequenceNumber\\\":1,\\n                    \\\"Period\\\":1,\\n                    \\\"PeriodUnit\\\":\\\"Monthly\\\",\\n                    \\\"TotalNbOfPayments\\\":12\\n                },\\n                ...\\n            },\\n            \\\"SaleData\\\":{...},\\n            \\\"Response\\\":{\\n                \\\"AdditionalResponse\\\": \\\"...installments=12...\\\",\\n                \\\"Result\\\": \\\"Success\\\"\\n            }\\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=\"reconciling-installments\">Reconciling installments<\/h2>\n<p>If a shopper pays in installments, the first installment is immediately charged to the shopper's credit card, and all future installments will be charged automatically.<\/p>\n<p>You receive the funds for each installment as it is settled. There is a settlement delay of 30 days. If you need the funds sooner, we also offer <a href=\"\/reporting\/settlement-reconciliation\/transaction-level\/reconcile-installment-payments\/\">advancements<\/a>. There is an additional fee for this service. Contact your Adyen Account Manager for details.<\/p>\n<p>If you use standalone terminals, you need to manually reconcile your point-of-sale transactions against your sales and returns.<\/p>\n<p>For more information on how installments are settled and reconciled, see <a href=\"\/reporting\/settlement-reconciliation\/transaction-level\/reconcile-installment-payments\">Reconcile installment payments<\/a>.<\/p>\n<h2 id=\"see-also\">See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/basic-tapi-integration\/generate-receipts\"\n                        target=\"_self\"\n                        >\n                    Receipts\n                <\/a><\/li><li><a href=\"\/point-of-sale\/design-your-integration\/notifications\"\n                        target=\"_self\"\n                        >\n                    Receiving webhooks\n                <\/a><\/li><li><a href=\"\/point-of-sale\/standalone\"\n                        target=\"_self\"\n                        >\n                    Standalone terminals\n                <\/a><\/li><li><a href=\"\/reporting\/settlement-reconciliation\/transaction-level\/reconcile-installment-payments\"\n                        target=\"_self\"\n                        >\n                    Reporting and reconciliation for credit card installments\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/point-of-sale\/installments\/brazil-installments","articleFields":{"description":"Flag a payment as credit, debit, or voucher, and make credit card installment payments in Brazil.","feedback_component":true,"filters_component":false,"decision_tree":"[]","page_id":"f6c2c072-e0fd-4630-adfd-7dfa54a78521","last_edit_on":"19-08-2025 09:19"},"algolia":{"url":"https:\/\/docs.adyen.com\/point-of-sale\/installments\/brazil-installments","title":"Installments in Brazil","content":"In Brazil, shoppers commonly use a combo card that has both a debit and a credit functionality, and most credit cards accept installment payments. Consequently, when paying by card, shoppers are asked to make some choices:\n\nDo they want to pay by credit, debit, or voucher?\nIf credit, do they want to make a one-off payment of the total amount or do they want to pay in installments?\nIf installments, how many installments?\n\nHere we explain how to flag in-store card payments as credit or debit and make credit card installment payments using one of the following flows:\n\nAdyen UI: with this flow enabled, the terminal automatically shows screens that let the shopper make their choices, and then processes the payment request according to those choices. This flow works for integrated and standalone payment terminals.\nYour own UI: you create your own UI or use some other process to get the shopper's choices, and then pass this information in your payment request.\n\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nA Terminal API integration with payment terminals or a standalone solution.\n\n\nLimitations\nNote the following: Installments with combo cards is supported in Brazil.The automatic flow requires terminal software version v1.119 or later.\n\n\nSetup steps\nTo use the Adyen UI flow, ask our Support Team to enable that flow. Let them know whether you want this to be configured for a company account, a merchant account, a store, or a terminal.\n\n\n\nAdyen UI\nTo use the Adyen UI flow, you must contact our Support Team and let them know whether you want this to be enabled for a company or merchant account, a store, or a terminal. The Adyen UI flow works for integrated and standalone payment terminals.\nWhen enabled, the flow is as follows:\n\n\nYou initiate a payment like you usually do.\n\n\nThe terminal shows a series of prompts:\n\nFirst, the terminal asks the shopper to choose if they want to pay by credit, debit, or voucher.\nIf the shopper selects Credit, the terminal asks them to select if they want to pay in Installments or as a One-off payment.\nIf the shopper selects Installments, the terminal asks them to Enter the number of installments and select Confirm.\n\n\n\n\n\n\n\n\n\n\n\n\nSelect card type screen  \nSelect payment type screen  \nEnter number of installments screen  \n\n\n\n\n\nThe terminal asks the shopper to present their card.\n\n\nThe shopper completes the payment on the terminal. They may need to enter their PIN or signature to verify the payment.\nWhen applicable, the generated receipt includes the number of installments, for example, \"Cr\u00e9dito em 12 parcelas\" (\"Credit in 12 installments\").\n\n\nOn an integrated terminal, you can find the installment information in the Terminal API response:\n\nPaymentResult.PaymentType: Instalment.\nPaymentResult.Instalment: an object containing:\n\nInstalmentType: EqualInstalments\nSequenceNumber: 1\nPeriod: 1\nPeriodUnit: Monthly\nTotalNbOfPayments: the number of installments.\n\nResponse.AdditionalResponse: installments= with the number of installments.\n\nYour own UI\nAs an alternative to the Adyen UI, you can design your own custom UI to collect the customer's preference. Your Terminal API request then needs to flag the credit card transaction as credit and make credit card installment payments.\nThe flow at the point of sale is as follows:\n\nYou collect the information about whether the shopper prefers to pay by credit, debit, or voucher, and if applicable, in how many installments. You can do this in various ways, for example:\n\nYour store staff asks the shopper about their preferences.\nYou collect the shopper's preferences on a secondary screen, for instance a tablet.\nYou use input requests  to collect the shopper's preferences on the payment terminal.\n\nYou use logic to pass the collected information to your POS app or your store staff enters this information manually into your POS app.\nYour POS app passes this information to the payment request.\nThe shopper presents their card to the terminal and completes the payment.\n\nIf the customer paid in installments, the response contains the installment details and the receipt data includes the number of installments, for example, \"Cr\u00e9dito em 12 parcelas\" (\"Credit in 12 installments\").\nMake a payment with Terminal API\nWhen paying in installments, the Terminal API payment request needs to indicate that the payment type is credit, and contain an object to define the installments.\nThere are two ways to indicate the payment type:\n\nselectedAccountType:\nThis method is recommended because it also applies to meal or food vouchers. You create a JSON object containing selectedAccountType with a value of CREDIT, CHEQUE, or MEAL_VOUCHER. Then you Base64-encode the JSON object and pass the resulting string in your Terminal API request, in the SaleToPOIData field.\nDebitPreferredFlag:\nThis method is limited to credit or debit. You add TransactionConditions.DebitPreferredFlag set to false for credit, or true for debit.\n\nIn the event that both DebitPreferredFlag and selectedAccountType occur in the same request, selectedAccountType takes precedence and its value is used.\n\n\nMake sure that your POS app collects the following information and passes it to the Terminal API payment request:\n\nThe payment type: credit or debit (or voucher).\nIf credit: whether the shopper wants to pay in installments.\nIf credit installments: how many installments.\n\n\n\nIf you want to indicate the payment type using selectedAccountType:\n\n\nCreate a JSON object consisting of the selectedAccountType parameter with the value CREDIT, or CHEQUE for debit, or MEAL_VOUCHER for a voucher.\n\n\n\n\n\nEncode the JSON object to Base64. You will pass the resulting string in SaleData.SaleToPOIData.\n\n\n\n\n\n\n\nMake a payment request, specifying:\n\n\nThe standard \n  SaleToPOIRequest.MessageHeader\n object, with MessageClass set to Service and MessageCategory set to Payment.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nService\n\n\nMessageCategory\n\nPayment\n\n\nMessageType\n\nRequest\n\n\nServiceID\n\nYour unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (POIID) being used.\n\n\nSaleID\n\nYour unique ID for the POS system component to send this request from.\n\n\nPOIID\n\nThe unique ID of the terminal to send this request to. Format: [device model]-[serial number].\n\n\n\n\n\nThe  PaymentRequest object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSaleData.SaleTransactionID\n\nAn object with: TransactionID: your reference to identify a payment. We recommend using a unique value per payment. In your Customer Area and Adyen reports, this shows as the merchant reference for the transaction. TimeStamp: date and time of the request in UTC format.\n\n\nPaymentTransaction.AmountsReq\n\nAn object with: Currency: the transaction currency.RequestedAmount: The final transaction amount.\n\n\n\n\n\nThe payment type, specified in one of the following ways:\n\n\nSaleData.SaleToPOIData with the Base64-encoded string from step 2 as its value.\n\n\nTransactionConditions.DebitPreferredFlag set to false for credit, or true for debit.\n\n\nFor a debit card payment or a one-off credit card payment, no further parameters are required.\n\n\nIf the shopper is paying by credit card in installments, define the installments by adding PaymentData object with:\n\nPaymentType: Instalment\nInstalment.InstalmentType: EqualInstalments\nInstalment.SequenceNumber: 1\nInstalment.Period: 1\nInstalment.PeriodUnit: Monthly\nInstalment.TotalNbOfPayments: the number of installments. The minimum is 2, the maximum 36.\n\n\n\nTo see some sample requests, select your method.\n\n    \n    \n        \n            \n            \n                                    selectedAccountType method\n                            \n        \n        \n            \n\n\n    \n        \n        \n    \n\n\n\n        \n    \n\n\n\n    \n    \n        \n            \n            \n                                    DebitPreferredFlag method\n                            \n        \n        \n            \n\n\n    \n        \n        \n    \n\n\n\n        \n    \n\n\n\n\nIf the payment is successful, the terminal shows the payment is approved, and you receive a   PaymentResponse that contains:\n\n\nPaymentReceipt: Dynamically generated receipt data that you can use for printing (or emailing) receipts. Both the merchant receipt and the shopper receipt have additional required keys:\n\nproductType: Indicates if the shopper paid by debit, credit, or credit in a specified number of installments.\n\ncnpj: identification number issued for the Brazilian National Registry of Legal Entities.\n\n\n\n\n\nIf the shopper paid in installments, the response also includes:\n\nPaymentResult.PaymentType: Instalment.\nPaymentResult.Instalment: An object containing the same installment details that you defined in the PaymentData of your payment request.\n\nResponse.AdditionalResponse: installments= with the number of installments.\n\n\n\n\n\nHere is a sample response for a credit card payment with 12 installments:\n\n\n\n\n\nReconciling installments\nIf a shopper pays in installments, the first installment is immediately charged to the shopper's credit card, and all future installments will be charged automatically.\nYou receive the funds for each installment as it is settled. There is a settlement delay of 30 days. If you need the funds sooner, we also offer advancements. There is an additional fee for this service. Contact your Adyen Account Manager for details.\nIf you use standalone terminals, you need to manually reconcile your point-of-sale transactions against your sales and returns.\nFor more information on how installments are settled and reconciled, see Reconcile installment payments.\nSee also\n\n\n                    Receipts\n                \n                    Receiving webhooks\n                \n                    Standalone terminals\n                \n                    Reporting and reconciliation for credit card installments\n                \n","type":"page","locale":"en","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"In-person payments","lvl2":"Installments","lvl3":"Installments in Brazil"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/point-of-sale\/installments","lvl3":"\/point-of-sale\/installments\/brazil-installments"},"levels":4,"category":"In-person payments","category_color":"green","tags":["Installments","Brazil"]},"articleFiles":{"screen-EN_card-selection-screen.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/images\/3\/5\/a\/7\/5\/35a757f1e506f132b11b14096631dd52a31bd9f0-screen-encard-selection-screen.png\" \/>","screen-EN_installments-screen.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/images\/8\/9\/2\/e\/b\/892eb34739eaf0a3e2fb31c8182c1e046e55d488-screen-eninstallments-screen.png\" \/>","screen-EN_payment-type-selection-screen.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/images\/1\/6\/5\/5\/e\/1655e9a5da5779ac23d0f551ac267d2dd0a21235-screen-enpayment-type-selection-screen.png\" \/>","brazil-payments_0.json":"<p alt=\"\">brazil-payments_0.json<\/p>","brazil-payments_1.json":"<p alt=\"\">brazil-payments_1.json<\/p>","brazil-payments_2.json":"<p alt=\"\">brazil-payments_2.json<\/p>"}}
