Virtual Cards for Reddit Ads: Fees, KYC and Issuer Terms
This is a working page for paying Reddit Ads with a virtual card: the billing cycle, the five things the checkout verifies, three issuers whose parameters match, and the diagnosis order to follow when a payment is refused.
Stripe Issuing is the closest fit on published terms (3-D Secure is documented, so a step-up challenge can finish instead of timing out). Grey is the fallback if that issuer will not take you, and Figo is the cheaper-to-fund option if you expect several charges a month.
Reddit Ads: what lands on the card, and when
Reddit Ads runs on prepaid credits or threshold billing, and the account stops delivering when a charge fails. Billing is in USD.
Why a card that works elsewhere fails here
Small thresholds mean frequent small authorisations, which is the pattern some issuers treat as card testing. A card with a stable history here is worth more than a higher limit.
- The card's issuing country does not match the country on the account. The BIN gives it away before any charge is attempted.
- The billing address differs from the issuer's record by a house number or a ZIP digit, and AVS fails on the comparison.
- The balance sits below the next threshold charge, so the automatic charge fails and delivery pauses.
- The card is shared across several ad accounts, which the platform treats as a risk signal.
- The issuer blocks the merchant category, or treats rapid repeated authorisations as card testing.
- There is enough money on the card, but not enough headroom for the authorisation the merchant actually sends.
The five checks the ad account's billing profile runs
| What is checked | How it works here | What to pick |
|---|---|---|
| Threshold authorisation | The card is charged automatically each time spend reaches the threshold. | Recurring support and a balance above the threshold, not at it |
| 3-D Secure | Meta and Google both expect step-up authentication for recurring billing. | Documented 3DS support with a working OTP route |
| Billing profile match | Account country, currency and card country are compared. | A card issued in the account's billing country |
| Card reuse | A card shared across several ad accounts gets flagged. | One card per ad account, or a small number of accounts per card |
| Payment-method churn | Frequent card changes are a risk signal in themselves. | Decide on one card before the account starts spending |
Not every check runs on every attempt. Reddit Ads applies them in the order its processor decides, which is why the same card can pass one day and fail the next after an issuer-side change.
Three cards that fit this checkout
Chosen by the parameters that decide Reddit Ads — country matching, step-up support, recurring behaviour and the cost of keeping the card funded — not by the order they appear in a directory.
1. Stripe Issuing — 8.3/10
What earns Stripe Issuing the slot is the fee shape rather than the headline score: no creation fee is published, and the top-up is quoted as Not applicable. That suits a threshold charge better than a card built for one-off purchases.
Works for this checkout
- 3-D Secure is documented, so a step-up challenge can finish instead of timing out
- a US billing address can be recorded against the card
What it costs you
- ID required at signup, so not anonymous
2. Grey — 8.7/10
What earns Grey the slot is the fee shape rather than the headline score: the card costs $4 (Mastercard) / $5 (Visa) one-time creation to create, with a 0% top-up. That suits a threshold charge better than a card built for one-off purchases.
Works for this checkout
- 3-D Secure is documented, so a step-up challenge can finish instead of timing out
- issuer records a billing address in Nigeria, Kenya, Ghana, Morocco +…
What it costs you
- full identity documents at signup
3. Figo — 8.2/10
Figo scores 8.2/10 in the catalogue and fits on the parameters that decide this checkout. In fee terms, the card costs $2 to create and the top-up is quoted as Free.
Works for this checkout
- 3-D Secure is documented, so a step-up challenge can finish instead of timing out
- a US billing address can be recorded against the card
What it costs you
- full identity documents at signup
- FX costs 2% FX on non-dollar charges
The shortlist, side by side
| # | Card / issuer | KYC | Creation fee | Top-up | FX | 3DS | Rating |
|---|---|---|---|---|---|---|---|
| 1 | Stripe Issuing | Business KYC (KYB): registered… | $0 | Not applicable | ~1% | 3DS | 8.3/10 |
| 2 | Grey | Yes (KYC verification) | $4 (Mastercard) / $5 (Visa) one-time… | 0% | 0% USD spend from USD balance | 3DS | 8.7/10 |
| 3 | Figo | Yes | $2 | Free | 2% FX | 3DS | 8.2/10 |
| 4 | Infini | Yes (KYC/KYB; basic info -> $500… | ~$10 | 0% | 0.1% per txn | 3DS | 8.5/10 |
| 5 | Fiat24 | Yes (18+, biometric ID + GPS +… | Free | 1% | 1-1.5% | 3DS | 8.8/10 |
| 6 | Bybit | Yes (KYC Level 2: govt ID + proof… | Free virtual | 0.9% crypto conversion fee per… | EEA 0.5% on top of Mastercard rate | 3DS | 8.6/10 |
| 7 | Privacy.com | ID Only | 0 | Not applicable | 3% foreign | 3DS | 8.7/10 |
| 8 | Ramp | Business verification (KYB): US… | 0 | Not applicable | 0 | 3DS | 8.1/10 |
Ordered by fit for this checkout, not by rating: a higher score elsewhere does not help if the card cannot complete the checks above. Unpublished fees are shown as the issuer states them.
What funding the card costs
Modelled on $1,000 moving through the card, which is a normal month for this category. It is the fee load, not the purchase price, so you can compare issuers on the same basis.
| Card | Creation | Top-up on $1,000 | FX on $1,000 | Total fee load |
|---|---|---|---|---|
| Stripe Issuing | $0 | — | $10 | — |
| Grey | $4 | $0 | $0 | $4 |
| Figo | $2 | — | $20 | — |
A card with no creation fee can still be the more expensive one once the top-up percentage is applied to a large monthly figure.
Paying Reddit Ads with a virtual card, step by step
- 1
Start from the billing country
Register in the country whose billing address you can document. Reddit Ads compares the card's BIN country with the account region, and no amount of address editing fixes a mismatch at that level.
- 2
Set the card up
Issue one card for this merchant rather than reusing a shared card. A limit above the expected charge keeps the authorisation from failing on a technicality.
- 3
Fund it with headroom
The first authorisation often includes a small hold, so a balance that matches the price to the cent will bounce. Put 15–20% more on than you expect to spend.
- 4
Enter the address from the dashboard
Use the issuer's address, character for character. AVS compares what you type with what the issuer holds, and a transposed digit fails the check.
- 5
Approve the step-up
Complete the step-up challenge in the same session. If a popup is blocked or the one-time code does not arrive, fix that before retrying, because each failure raises the risk score.
- 6
Verify and pre-fund the renewal
Confirm the charge posted, then leave a balance for the next cycle. A card that clears once and is emptied afterwards fails the renewal.
If it still fails
Work down this list in order. Each row is a different check, so changing the card before you know which one failed usually repeats the same decline on a new BIN.
| What you see | What it means here | What to do |
|---|---|---|
| Declined, no reason given | The processor rejected the authorisation before the issuer saw it. On this checkout, a card/account country mismatch is the usual trigger. | Stop and check the country pairing before anything else; each retry adds a negative signal. |
| Insufficient funds despite a topped-up card | The authorisation asked for more than the balance once tax and the temporary hold were included. | Fund above the charge, not at it, then retry a single time. |
| Address verification failed | The street number or ZIP differs from what the issuer holds; AVS compares both. | Use the issuer's address verbatim — not your home address, and not a reformatted version of it. |
| 3-D Secure loop | The challenge either never appeared or timed out, so the payment was recorded as a decline. | Disable popup blockers, retry in a private window, and check that the card's phone or email is current. |
| Prepaid or unsupported card | This BIN is not accepted here, usually because it is prepaid or issued outside the accepted countries. | Switch to a debit or credit card issued in an accepted country; a higher balance will not help. |
| Payment method invalid | The card on file was replaced or expired and the merchant has not picked up the new details. | Re-add the card and remove the stale entry, then retry on a fresh checkout session. |
What a failed payment actually costs you
Campaigns pause when the charge fails, and repeated failures can move the account to a past-due state that limits spend even after the card is fixed. The loss is delivery time plus the learning period the campaign has to rebuild.
That is why the buffer matters more than the fee. A card that saves 1% on top-up but fails the renewal costs more than a card that charges 2% and clears every cycle.
Questions we get asked
Yes, if the card matches the account's country and can complete a step-up challenge. Stripe Issuing is the closest fit on published terms, with Grey as the fallback. The failure people report is rarely a balance problem; it is a country or address check.
Because Reddit Ads runs its own checks before the charge: the card's issuing country against the account's region, the postal code against the issuer's records, and a 3-D Secure challenge where the region requires one. A card that works at a domestic merchant can still fail all three.
On a Prepaid or threshold plan, the cheapest is the one with the lowest top-up and FX load rather than the lowest creation fee. For Stripe Issuing, no creation fee is published, and the top-up is quoted as Not applicable. Run the same spend through two issuers before deciding; the fee that dominates is usually the top-up.
Prepaid instruments are the first thing this kind of checkout screens out. Even when a prepaid card is accepted, it usually cannot take the renewal, so it buys one cycle rather than a subscription.
It depends on the site version. A cross-border checkout will often take a foreign card and convert at the issuer's rate, while the domestic path will not. Check which currency the checkout quotes before choosing the card.
On a metered or threshold account the charge is retried, and a second failure can put the billing account on hold — which stops service, not just the payment. Keep the card funded above the threshold rather than at it.
Other ways to pay Reddit Ads
A virtual card is one path. These are the others, and each has a different failure mode.
- Prepaid credits
- a card used only for ads
- a higher threshold to reduce charge frequency
How the data on this page is built
Fees and limits are the issuer's published terms, re-verified each month and converted at the rate on the check date when they are not in dollars. Nothing here is inferred from one transaction: a card counts as compatible only when the issuer documents it. The full protocol, including how declines are recorded, is on the methodology page.
Fees, limits and terms quoted on this page are as published by the issuer and can change at any time — verify with the issuer before applying.