A login IP is account hygiene. A destination list is a traffic log. Do not confuse them in a PDF for Visa.

Chargebacks for a White-Label VPN Brand

Reason codes, representment evidence, and windows. A login IP is not a traffic log. Do not refund a disputed invoice. The dispute desk — not refund eligibility, not dunning, not a MoR survey.

KloxVPN Team
22 min readPublished 2022-01-29
Chargebacks for a White-Label VPN Brand
A login IP is account hygiene. A destination list is a traffic log. Do not confuse them in a PDF for Visa.

The bank letter arrives after you already argued in chat. Or it arrives with no ticket at all. The processor wants evidence by a date that is sooner than the network's. Someone in support wants to 'just refund it to make it go away' while the dispute is open. That refund is how you pay twice.

This is not the refund-ops essay. That piece is the seven-day window, web versus store, killing access when you send money back. It mentions the collision. This is the collision as the job: reason codes, the pack, the clock, win or lose, what you do to the tunnel while you wait. This is not the billing survey. Merchant of record, tax on the button, dunning cadence, and a one-section pack live there. This is not failed-card mail. Dunning is before they cancel, when the Visa declines and you still want the sub. This is not trial-abuse. Card testing is how some disputes are born. The desk still needs a case file.

A VPN is a tunnel you billed. Wikipedia's VPN page will not write your representment. RFC 8446 will not either. Visa publishes chargeback management guidance for merchants. Read the live network docs and your processor's evidence form the week you file. Codes and windows move. NordVPN's refund policy help is a specimen of a consumer desk. It is not your representment PDF.

Klox consumer is WireGuard, OpenVPN, OpenConnect, and Shadowsocks, five devices, yearly from $2.83 a month, seven-day money-back on first purchase. We ask people to write support before they call the bank. That is manners plus self-defense. It is not a law. Banks still take the case. Your white-label brand sets retail and the window. You still need a dispute folder that does not invent traffic logs.

I have a bias. Match the code. Upload what you actually keep. Pause the slots. Never refund an invoice that is already in dispute. I will not sell you a win rate. Anyone printing a guaranteed percentage is selling a slide.

Related reading: Don't Build Your VPN Brand on Review-Farm Posts and White-Label VPN and Refund Policy Ops. Billing a White-Label VPN: Cards, Tax, and Failed Payments and White-Label VPN and Dunning Failed Cards. What is a VPN? and Download KloxVPN.

Looking for a reliable VPN?

KloxVPN — from $2.83/month. Apps for every device.

View Plans

A chargeback is not a refund ticket

A refund is you (or Apple, or Google) sending the money back through the original rail. A chargeback is the issuer pulling the money through the network, usually with a fee, because the cardholder filed a dispute. The verbs feel similar in a chat window. They are not similar in the processor dashboard.

If a dispute is open, the case owns the money. A goodwill credit on the same invoice is a second reversal. You eat the amount twice plus the fee. The refund-ops article is the fork in the inbox: ask early whether they already called the bank. People lie. The dashboard does not. If the dispute exists, the macro is we see a case, we will respond, access is paused. It is not we will refund in 24 hours.

Klox consumer copy points unhappy buyers at support and /refund first. Copy the idea if you copy the window. Do not tell a partner site that our seven days is their policy. Do not tell an agent that a chargeback is 'just a refund with extra steps.' Extra steps include representment, a deadline, and a risk score.

White-label branding versus the VPN tunnel
Your logo is packaging. The tunnel is still WireGuard, OpenVPN, OpenConnect, and Shadowsocks.

    How to read this page

  1. 1Skim the seating / order diagram.
  2. 2Do the numbered steps once on your real network.
  3. 3Use the FAQ if a sentence was too long.
  4. 4Follow one related article — not ten tabs.
Families, not a promise that every processor uses these labels. Confirm the code on the live case.
Reason familyWhat they claimEvidence that is fairDo not attach
Fraud / not authorized (often Visa 10.4, MC 4837)I did not buy thisDescriptor, checkout time, terms tick, emails, 3DS result, billing/login IP if you store itDestination lists, DNS, payload metadata
Cancelled recurring (often Visa 13.2)I cancelled before this renewalCancel timestamp, portal log, reminder mail, no cancel on fileA goodwill refund on the same invoice
Not as described (often Visa 13.3)This was not the VPN you soldListing copy, WireGuard, OpenVPN, OpenConnect, and Shadowsocks as shipped, tickets about reconnectSpeed percentages, city counts, audits you do not have
Credit not processedYou promised money back and did notRefund id, processor row, window policyA second credit while the dispute is open
Duplicate / processingBilled twiceTwo invoice ids or proof there was oneSilence

A login IP is account hygiene. A destination list is a traffic log. Do not confuse them in a PDF for Visa.

— KloxVPN operator notes

Cloudflare Learning: What is a VPN?

Wikipedia: Virtual private network

IETF RFC 8446 (TLS 1.3)

Visa: chargeback management for merchants

NordVPN refund policy (competitor specimen)

Inquiry versus chargeback

Some processors show a retrieval or inquiry first. That is a chance to refund before it becomes a chargeback. Use it if you would have refunded anyway. If you intend to fight, do not refund during the inquiry and then also represent. Pick one path and write it on the case.

The fee is not the lesson

The network fee is the obvious cost. The quieter cost is the ratio the acquirer watches. Fighting every friendly-fraud case on principle can still be right. Fighting with an empty pack is how you look sloppy. Pick cases where the folder exists.

Reason codes are different folders

Issuers pick a code. You do not get to pick a more convenient one. Fraud is 'not me.' Cancelled recurring is 'I ended this and you billed anyway.' Not as described is 'the product was a lie.' Credit not processed is 'you owed me a refund.' Duplicate is two captures. If you upload a reconnect ticket into a fraud case, you wasted the page limit on a story the issuer did not ask.

Visa groups consumer disputes in the 13.x range and fraud in 10.x. Mastercard uses four-digit codes; 4837 is the fraud analogue people quote, 4853 is a wide consumer-dispute bucket. Amex and Discover have their own. Your processor UI may show a friendly English phrase instead of the number. Save the number. Macros should branch on the number.

I will not pretend every 2026 portal still prints the same digits. Confirm on the case. The family is stable even when the sticker changes.

Do not argue the seven-day window inside a fraud folder

First-purchase money-back is eligibility. Fraud is identity. If they say they never bought, showing that they are outside the refund window is not a defense. Showing checkout, descriptor, and that the account was used as an account is a defense. Different PDF.

One invoice, two stories

Chat said 'I cancelled.' The bank said fraud. Believe the bank for the pack. You can still note the ticket. You cannot win fraud with a cancel log alone, and you cannot win 13.2 with a 3DS screenshot alone. Build for the code in the case.

Representment windows are clocks

Visa merchant response is commonly about 30 days from the chargeback. Mastercard is commonly about 45. Amex is often shorter. Those are network-shaped numbers. Your processor will give you a shorter upload deadline because they need time to format and forward. Stripe-class dashboards often want evidence in a handful of days. The portal date is the date that can fire. Put it on the agent card in red.

Start the pack the hour you are notified, not the afternoon before the clock. Compiling descriptor screenshots, the terms tick, and mail logs is boring and slow if you never saved them. If you have to grep production because you have no billing export, you already lost the easy cases.

I will not invent an SLA for how fast Klox partners must click. I will say this: a yearly from $2.83 a month still becomes a painful reversal when you miss the window and the acquirer keeps the fee.

WireGuard versus OpenVPN
Klox ships four protocols: WireGuard by default, OpenVPN when UDP fails.

Calendar days, not 'next sprint'

Weekends count. A case that lands Friday is not a Monday problem. Roster someone who can export a receipt on Saturday if you take weekend signups. The staffing article is the roster. Disputes are why the roster cannot be theoretical.

Do not wait for the user to 'clarify'

They already talked to the bank. Mail you send now may be ignored. Represent with what you have. A missing 'why are you disputing' reply is not a reason to miss the processor clock.

Evidence you have versus traffic you claimed not to keep

This is the VPN-specific trap. Marketing said no-logs. A well-meaning analyst wants to attach 'they streamed for 40 hours' or a list of hostnames. If you do not keep destinations, you cannot produce destinations. If you produce them anyway, you lit the policy on fire for one case. Journalists read representment PDFs when they leak. Banks are not your only audience.

What is fair if you actually store it as account or billing data: email, account id, checkout timestamp, statement descriptor, last login or last-authenticated-at, checkout IP or login IP, device-slot count (five is the Klox consumer cap; your brand may differ), whether WireGuard or OpenVPN was configured as a slot, terms accepted, receipts, dunning or renewal mail, cancel timestamp or its absence, refund rows.

What is a traffic log: DNS queries, destination IPs, SNI, URLs, payload sizes per site. Last handshake to your node is closer to entitlement health than to browsing history. Still: if the public policy says you do not keep connection timestamps, do not magically keep them for Visa. The policy-mistakes essay is the HTML. Here the rule is simpler. The pack may only contain rows the policy admits exist.

Login IP is not browsing history

A billing or authentication IP answers 'was someone at this account at checkout.' It does not answer 'what websites they opened through the tunnel.' Write that sentence in the PDF so a junior agent does not paste a node graph. If you do not store login IP, say you do not. Do not invent one.

Device slots are not a household dossier

Five devices means five entitlements. Showing that three slots were online after the purchase supports 'service was delivered.' Naming the kid's iPad in a fraud pack is ugly and unnecessary. Platform plus last-seen-at is enough if the admin has it.

Descriptor, receipt, terms

Unrecognized charges are the category tax. Privacy merchants look like spam on a statement if the descriptor is LLC-random. The billing article is how you pick a descriptor. This article is how you prove it. Screenshot the live descriptor. Put the same string in the receipt and the first email. If the card says KLOX*BRAND and the email says a different DBA, you handed the issuer a gift.

Terms: a tick at checkout, a timestamp, a URL and version. 'See our website' is not a tick. If you changed the window after they bought, attach the version that was live that day. Refund ops already told you to date the policy. Disputes are why.

Receipts: amount, currency, date, last4 if you have it, plan name, that it is recurring. Yearly from $2.83 a month is a consumer SKU on our site. Your brand's receipt should show your price, not ours, unless you are us.

3-D Secure is a page in the fraud folder

A successful challenge or frictionless result helps 10.4-shaped cases. It does little for 'I cancelled.' Do not staple 3DS into every PDF. If you do not run 3DS, do not invent a liability shift. The billing essay covers when to turn it on. Here: export the result if the code is fraud.

AVS and CVC

Match results belong next to the auth. They are weak alone. They are better than a blank page. Digital goods will not have a shipping signature. Stop wishing for one.

Fraud versus cancelled versus not as described

Fraud pack: they were the cardholder or the cardholder authorized it. Compelling Evidence-style programs on Visa (prior undisputed transactions, matching device or IP) exist for some 10.4 cases. Use them if you qualify. Do not recite a product name as if it were a win. If you have two older good charges on the same PAN, export them. If you do not, do not fake them.

Cancelled recurring: the renewal was allowed because they had not cancelled, or they cancelled after the bill, or the portal shows no cancel. Attach the cancel UX screenshot from the date of purchase if you have it. If cancel was hidden, you will lose and you should fix the portal before the next case. Friendly fraud often arrives as this code because calling the bank is easier than finding Cancel.

Not as described: you sold WireGuard, OpenVPN, OpenConnect, and Shadowsocks, five devices, a tunnel. You did not sell a city count or a speed percentage. Attach the listing. Attach the ticket where they refused OpenVPN TCP on a hotel AP if that is true. Do not attach a fake uptime badge. Do not attach an audit you do not have.

Services not received

For a VPN this usually means they say the app never worked. Delivery proof is not a tracking number. It is account created, entitlement granted, maybe a successful handshake if your policy allows that row. If they never could connect and they are inside your refund window, you should have refunded. A dispute after you refused a valid in-window refund is you choosing the expensive rail.

Credit not processed

If you promised a refund in chat and never clicked the processor, you will lose this code and you should. If you refunded and they still disputed, show the refund id and tell the processor. Do not send another credit.

Do not refund a disputed invoice

Repeat it until agents can say it in their sleep. Open dispute: no goodwill refund on that charge. Already refunded, then dispute: notify the processor immediately with the refund id. Dual movement is the amateur hour the refund-ops piece warned about. This desk owns the second half: represent or accept, never stack.

Accepting is allowed. If the pack is empty, if the amount is a monthly you would have refunded anyway, if the user is inside a window you staff, accepting can be cheaper than a sloppy fight. Accepting is not a refund button in chat. It is the dispute action. The money is already in motion.

Partial refunds on a disputed yearly are how you confuse the issuer. If you must split, do it through the processor's dispute tools, not a random credit memo.

Credits and extra days

Offering a free month while a fraud case is open is a mixed signal. The issuer is being told they did not buy. You are extending the tunnel. Pick. I pause access. I do not gift days to a PAN that is in dispute.

Who is allowed to click refund

Not every chat agent. Dual-control on yearly amounts is boring and good. The refund-ops article set a threshold idea. Disputes need a harder gate: if dispute_open, the refund permission should fail closed.

Access during the fight

Pause the entitlement when you are notified. Leaving five devices up while you fight 'I never bought this' is how you lose. You delivered the service after they said it was not theirs. WireGuard does not care about your moral intent. OpenVPN will happily keep a peer until you drop it.

Tell them access is paused because of a billing dispute, not because you are punishing a review. Give a path: if they withdraw the dispute and still want the app, here is how. Do not require them to withdraw as a condition of a refund you already should have issued inside the window. That is hostage-taking and it reads badly in a later pack.

If they paid on the App Store, you may learn about a store refund late. Kill slots when you learn. Store money is not your Visa case, but leftover tunnels are still your network.

Routers as the leftover slot

A home gateway stays up after a phone is logged out. Kill all device slots. Tell them the router config will fail. Save the ticket. Refund ops said this for refunds. It is true for disputes.

Do not debate the family

The payer is the customer for the charge. A roommate on device four is not a separate representment. One account, one invoice, one pause.

Win, lose, and the next row in finance

Won: the amount stays. Confirm entitlement policy. If you paused, decide whether to restore. If they still want out, cancel going forward without a second cash movement. Lost: the amount is gone. Keep access off. Do not quietly restore the tunnel as a courtesy. You already lost the money.

Finance needs a row: case id, reason code, amount, currency, invoice id, represent or accept, outcome, fee, agent, timestamps, entitlement paused at. If that row lives only in Slack, you will never see a descriptor problem or an affiliate spike.

I will not print a target win rate. Acquirers watch ratios. Treat a climbing dispute rate as an emergency the same way the billing essay said. Fix cancel UX, descriptor, and traffic quality. Do not fix it by attaching destinations you swore you do not have.

Pre-arbitration and round two

Some networks allow another round. Fees go up. Only continue if new evidence exists. Repeating the first PDF is how you buy a more expensive loss. Know your processor's button labels before you are angry.

Affiliate clawback

If a partner's traffic disputes, claw the commission in the affiliate contract. That is not representment. That is not letting a stolen-card desk fund itself on your prefix. Trial-abuse is the front door. This is the bank letter that arrives after.

Store purchases are not your Visa case

If they paid Apple, Apple owns the money. If they paid Google, Google owns it. You do not upload a Visa pack for an IAP you never processed. You still revoke access when you learn the store refunded or reversed. You can help them find reportaproblem.apple.com or Play's refund flow. You cannot honestly tell the issuer you will represent a charge that never hit your merchant account.

Two catalogs means two dispute desks. The in-app subscribe button should have said which. White-label brands that hide web billing inside an iOS app without reading store rules get a worse day than a chargeback day.

Do not double-move. A user who bought on Apple and also emails you for a web refund is trying it on. Check the channel before you click. Refund ops covered the double-refund. Here: there is no representment you can file on a store rail.

Restore purchases is not evidence of fraud

Someone restoring an IAP on a new phone is normal. Do not paste restore events into a fraud PDF as if they proved a stolen card. They prove the store still thinks the sub exists.

Web plus app on one human

They bought on web, installed the app, then asked Apple to refund. Apple has no order. Then they dispute the Visa. That case is yours. The pack is the web checkout. The app install is delivery, not a second merchant.

Prevention is cancel UX, not a letter to the bank

The cheapest chargeback is the one that never files. Put cancel where a tired person can find it. Put refund eligibility next to it if you offer a window. Klox consumer is seven days, first purchase only. Fast in-window refunds prevent a lot of 13.x mail. Slow-playing a yearly to 'save cash' buys you a fee and a ratio problem.

Descriptor you can search. Receipt that matches. Renewal mail that names the brand and the amount. Dunning that does not say cancelled while the tunnel is up. Those are other articles. This desk still has to exist because some people will call the bank on purpose.

I will not write a public essay that teaches you how to detect every professional disputers' pattern in code. I will say: decline stacked goodwill, require the original email, watch PAN cycling, and keep the AUP kill separate from the dispute pack. Then go run the inbox.

Support before chargeback is a request, not a lock

Ask them to write you first. Print it on /refund or your URL. When they skip it, you still respond to the case. You do not scold the issuer. You upload the pack or you accept.

When you should not fight

Empty folder. In-window refund you refused out of stubbornness. Hidden cancel. Descriptor nobody can read. Those are product bugs with a legal costume. Fix the product. Accept the case. Do not spend the representment window writing poetry about privacy.

Key Takeaways

Chargebacks are a code, a clock, and a pack. Match the reason. Upload what the policy admits you keep: descriptor, receipt, terms, account rows, maybe a login IP. Do not upload destinations you claimed not to log. Pause the slots. Do not refund an invoice that is already in dispute.

Refund ops is the window and the kill. Billing is who is on the statement. Dunning is the failed card. Trial-abuse is the faucet. This page was the bank letter.

If you want branded apps and a customer whose disputes you actually run, start from white-label. WireGuard, OpenVPN, OpenConnect, and Shadowsocks. Five devices. A price you set. A seven-day window if you copied us. The issuer will still sometimes show up. The only question is whether you already paid twice.

Run disputes like a desk, not like a panic

White-label puts your brand on the apps and the inbox. You still write the refund window, the cancel path, and the representment folder. Klox consumer remains from $2.83 a month, five devices, WireGuard, OpenVPN, OpenConnect, and Shadowsocks, seven-day first-purchase money-back — that policy is ours unless you publish your own. Do not refund a disputed invoice.

See white-label VPN

Frequently Asked Questions

No. The dispute owns that invoice. A goodwill refund on top is paying twice plus a fee. Accept or represent in the processor. If you already refunded, send the refund id to the processor.

KloxVPN Team

Experts in VPN infrastructure, network security, and online privacy. The KloxVPN team has been building and operating VPN services since 2019, providing consumer and white-label VPN solutions to thousands of users worldwide.