Price is a signal, not a tax
Across this market, price tracks demand and demand tracks acceptance. Numbers from large, mature mobile markets cost more because platforms trust them and everybody wants them. Very cheap countries are cheap because their ranges are heavily recycled and widely distrusted.
So a price list is also, roughly, a probability list. Reading it that way makes the cheapest option look less attractive: an unaccepted number is not a bargain, even at a fraction of the price.
Match the country to the platform
Some platforms accept almost anything; others only trust a short list of markets. If a platform is regional, a number from inside that region is often treated more favourably than a technically "better" number from elsewhere, because the platform compares the number against where the account claims to be.
If a platform has already refused two numbers from one country, that is information: change country rather than spending more attempts on the same market.
Read the availability, not just the price
An in-stock country delivers a number immediately. An out-of-stock one still accepts your order, but it queues until a number frees up — fine if you are patient, frustrating if you are mid-sign-up with a countdown on screen.
When you need a code right now, filter to what is genuinely in stock and pick the best-accepted country from that subset instead of the best country overall.
A simple decision order
Start with a mid-priced number from a large market in stock now. If it is refused, replace it once in the same country — recycling means the specific number may be the problem, not the market. If a second one fails, move to a different large market. If you are verifying something region-locked, start inside that region instead.
Because unsuccessful attempts are not billed, this ladder costs nothing but time; the only thing you spend is attempts, and it is cheaper to change country early than to keep buying in a market that has already said no twice.