Fake Apple Pay receipt reads a $657 charge aloud through the iPhone's own speech engine
Malwarebytes took apart a tech support scam page built for iPhones rather than desktops, where the receipt values are hardcoded, the voice comes from the browser's speech API, and the only payload is a phone number.
The Watch · Security desk
What happened
- Malwarebytes analyzed a scam page that shows iPhone users Apple Pay processing a $657 App Store payment, complete with a spinner, a padlock, a transaction ID and a Face ID verification line.
- Seconds in, the page switches story and says the Apple ID is locked after an unrecognized sign-in, putting a phone number under an instruction to call Apple Support immediately.
- Once the victim opens the transaction details, the payment reads Completed and the phone starts speaking an alert about an unauthorized charge.
- The page imitates Apple Pay, Face ID and App Store payments, drives the phone's text-to-speech, and works to interfere with mobile navigation.
Why it matters
- Who's exposed exposure The advice not to call a number that appears on a screen now has to cover phones, where the scammer's number is a tap on a tel: link rather than something the victim types into a second device.
- What's now possible capability Using the victim's installed speech voice gives operators audio with no hosting, no recording and nothing for a takedown to seize.
- What it limits constraint There is no software flaw here to patch, only ordinary HTML, the Web Speech API and the history API, so defensive spend lands on user handling and web filtering instead of a fix cycle.
- Who has to decide decision Because the receipt strings never vary, a single victim report characterizes every other victim of this kit, which makes it cheap for a help desk to triage the call rather than the page.
Apple Pay on the web has a fixed shape. The merchant requests the payment, the system puts up a payment sheet, and the user reviews and authenticates it, which is what Apple's own guidelines specify [12]. None of that runs here. The "Face ID / verifying identity" line is an HTML element sitting beside an icon, with no Apple Pay request and no biometric-authentication call behind it [11], and the splash screen it sits on removes itself on a 2.8-second timer whether the victim touches anything or not [13].
The receipt is where the sample gives itself away. Amount, transaction ID and authorization code are hardcoded at $657.00, AP-2026-08-03-14:32 and AUTH-8F3A2B1C, identical for every visitor [14]. The date field is not: JavaScript calls new Date() and formats it with toLocaleString(), so the receipt carries the victim's own clock and timezone [15]. Because the ID date is frozen and the date field renders at view time, the two only agree for someone who opens the page on 3 August 2026 [18]. Malwarebytes flags that mismatch as the contradiction a genuine transaction cannot produce [15].
The audio is the part other kits will copy. The page creates a SpeechSynthesisUtterance and hands it to window.speechSynthesis, the browser's built-in Web Speech API, and the device reads out "Unauthorized charge of six hundred fifty seven dollars from your Apple ID. Please call support immediately" [16]. No hosted file, no recording, nothing to take down. Malwarebytes notes the effect: a voice already installed on the phone sounds more like the phone than like a website [17].
Most of the remaining code is spent on the exits. The page pushes a history entry and listens for popstate, so a backward gesture triggers a warning that closing the page could expose the victim's payments and banking information [1]. Cancel that prompt and it raises another warning and pushes another history entry; accept it and the code navigates to a tel: URL holding the scam number [2]. Handlers are also registered for beforeunload, pagehide, the context menu, an edge-swipe gesture and common keys [3]. Every item on that list is a page-level event.
Scope, plainly. There is no real transaction and no biometric verification in the sample, and the analysis describes hardcoded values, browser speech, fake warnings and navigation tricks whose whole purpose is to get the victim dialling [10]. Nothing is stolen by the page. The money moves after the call connects, and this write-up stops at the tel: handoff.
The funnel is the one that has run on desktops for years behind "your computer has a virus" pages [5]. What mobile changes is the distance to the phone call: on a desktop the victim had to pick up a second device and type the number, while here the number is a tap and is never read closely [2]. That is the reason the old desktop advice has to be restated for phones, against Apple Pay, Face ID and App Store branding rather than antivirus branding [6].
What to watch
- Whether the same kit turns up re-skinned for Android with Google Pay and Play Store branding.
- Whether the hardcoded $657.00 amount and AUTH-8F3A2B1C code start rotating, which would mean the kit is being maintained rather than dumped.
- Whether any browser vendor restricts speechSynthesis or tel: navigation triggered without a user gesture.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence72
- Adoption
- Not scored
- Hype gap−8
- Incentives55
- Confidence58
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
The page adds a new browser-history entry and listens for popstate so it can react when a victim navigates backward, then displays a warning claiming that closing the page could expose the victim's payments and banking information.
- [2]
If the victim accepts the prompt to call support, the code navigates to a tel: URL containing the scam number; if they cancel, another warning appears and another history entry is added.
- [3]
The page also registers handlers for beforeunload, pagehide, the context menu, an edge-swipe gesture and common keys.
- [4]
iPhone users are being targeted in a new tech support scam that uses a fake Apple Pay notification.
- [5]
Tech support scams that use fake warnings to push victims into calling a phone number have been around for years, typically as a desktop warning claiming the computer has a virus; this page was designed specifically for phones.
- [6]
The scam imitates familiar iPhone features including Apple Pay, Face ID and App Store payments, uses the phone's own text-to-speech capabilities, and attempts to interfere with mobile navigation.
- [7]
The page opens showing Apple Pay processing a $657 App Store payment, with a spinner, a 'Face ID - verifying identity' line beneath the amount, a transaction ID and a padlock.
- [8]
A few seconds later the page claims the victim's Apple ID is locked because of an unrecognized sign-in, and a phone number appears under an instruction to call Apple Support immediately.
- [9]
When the victim opens the transaction details, the payment is marked 'Completed' and the phone begins speaking an alert about the unauthorized charge.
- [10]
Malwarebytes says the page it analyzed contains no real Apple Pay transaction and no biometric verification, and instead uses hardcoded payment details, browser-generated speech, fake security warnings and aggressive navigation tricks to get the victim to call the scammer.
- [11]
In the sample, 'Face ID - verifying identity' is simply an HTML element displayed beside an icon, with no Apple Pay request and no biometric-authentication call behind it.
- [12]
A genuine web Apple Pay payment begins when the merchant requests it, after which the system immediately displays a payment sheet for the user to review and authenticate, as Apple's guidelines specify.
- [13]
The 'Processing payment' spinner is cosmetic and the entire splash screen disappears on a timer after 2.8 seconds, regardless of anything the user does.
- [14]
The page hardcodes the amount as $657.00, the transaction ID as AP-2026-08-03-14:32 and the authorization code as AUTH-8F3A2B1C, so every visitor is shown the same values.
- [15]
The receipt date is generated dynamically by JavaScript calling new Date() and formatting it with toLocaleString(), so it uses the current date, time and timezone from the victim's device, contradicting the fixed transaction ID that contains 2026-08-03.
- [16]
The JavaScript creates a SpeechSynthesisUtterance and sends it to window.speechSynthesis, the browser's built-in Web Speech API, to read aloud: 'Unauthorized charge of six hundred fifty seven dollars from your Apple ID. Please call support immediately.'
- [17]
Malwarebytes calls the use of a text-to-speech voice already available on the victim's own device a clever social-engineering touch, because the warning may sound more like part of the phone than audio playing from a random website.
- [18]
The receipt's date field and the date embedded in its transaction ID can only agree for a visitor who opens the page on 3 August 2026.
Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.
Sources
1 independent publisher whose own reporting we read for this story.
- malwarebytes.comFake Apple Pay charge brings the classic tech support scam to your phone
1 article · August 27, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.