DDA and payee checks: best practices for issuing boletos
By Laís Peixoto
Growth Marketer, Proteside
Published · 4 min read
DDA shows buyers, in their banking app, the boletos registered to their tax ID straight from the banks' database, and every channel displays the payee before payment. For this to protect the store, it must register each boleto with the buyer's correct tax ID and state clearly which payee the buyer should see.
DDA (Débito Direto Autorizado) shows buyers, inside their banking app, the boletos (Brazil's bank payment slips) registered to their individual or company tax ID, with data taken straight from the banks' database rather than from the page where the boleto was displayed. Combined with the payee check every payment channel performs before confirmation, it is the simplest way for a customer to spot a swapped boleto. But both only work if the store does its part: register the boleto with the right tax ID and tell the buyer which name to expect.
What DDA is and what it shows
To use DDA, customers sign up as an “electronic payer” at their own bank, usually through digital channels. From then on, they receive electronically the boletos issued in their name, with data from the centralised boleto platform, including those from other participating banks. Three details matter:
- Only registered boletos appear, linked to the payer's tax ID.
- DDA does not pay by itself. It presents the boleto; payment only happens when the customer authorises it. It is different from automatic debit.
- Enrolment happens at the bank. Institutions such as Bradesco warn that they do not enrol customers in DDA by email or send links for it.
Why DDA helps against tampered boletos
In the tampered boleto scam, malicious code swaps the payment line shown on screen for another one, from a payee the criminal controls. The version that appears in DDA never passes through that screen: it comes from the banks' database, with the real payee. If the buyer pays through DDA, or compares the line on the page with the one in the app, the swap shows. Kaspersky researchers were already pointing to DDA as a defence in 2014, when they described malware that altered boletos in the browser.
Payee checks and the name problem
Febraban, the Brazilian banking federation, notes that ATMs, apps and internet banking show the payee's details before confirmation, and advises: if the account does not belong to the right payee, do not complete the payment.
In e-commerce, this check stumbles on a detail: buyers know the brand, not the legal name. If the boleto is issued by a payment intermediary or by a company whose name differs from the store's, customers get used to seeing a “strange” name and confirming anyway. That is exactly the habit the scam exploits. The check only protects if the store says, beforehand, which name to expect.
Best practices for boleto issuers
- Register the boleto with the buyer's correct tax ID. Validate it at checkout; without it, the boleto will not appear in DDA.
- Define the expected payee and repeat it everywhere: name, CNPJ and issuing bank, with the first three digits of the line, on the boleto page, in the order email and in the customer area.
- Explain intermediaries. If another company issues the boleto for you, name it next to the code.
- Encourage DDA. A simple sentence helps: if you use DDA, the boleto will appear in your bank app and you can pay there.
- Keep amount and due date identical to what was registered, so any difference stands out.
- Deliver the PDF generated by your own system and offer reissues only in the customer area, never through third-party links or unsolicited messages.
- Never ask for DDA enrolment through a link. Enrolment always happens at the customer's bank.
- Protect the boleto page: few scripts, updated platform and plugins, and monitoring of what is displayed in production.
- Reconcile and investigate. A customer who says they paid but does not appear as settled deserves immediate attention.
What DDA does not solve
Not every buyer uses DDA, and many copy the line from the payment page itself without opening their boleto list. In that case, the only barrier is the name check, and it depends on the customer's attention at the moment of purchase. That is why, beyond good practice, it is worth making sure the line the store displays is the one it issued. See how boleto protection works.
Proteside handles that point: it records the payment line, barcode and payee of each boleto and checks, in the buyer's browser, that what appears or is copied is exactly that, blocking the swap and alerting the merchant. It works with any platform and any issuer, and you can try it free for 14 days for online stores.