How to charge USD subscriptions from Nigeria
How Nigerian SaaS companies can bill international customers in USD: recurring card payments, failed-payment recovery, trials and getting the dollars out.
If you're building a SaaS product in Nigeria, your best customers may be in London, Toronto or Austin. They expect to see a price in dollars, pay with a card and be charged automatically each month. To sell to them, you need to charge cards in USD, renew subscriptions without the customer present, recover payments that fail, and get the dollars somewhere you can use them.
This guide explains how USD subscription billing works, what goes wrong with recurring payments, and how a Nigerian business can run USD subscriptions without a company abroad.
Key takeaways
- A subscription saves the customer's card on the first payment, then charges it automatically at each renewal.
- Renewals fail for ordinary reasons, like an expired card or a temporary decline. Automatic retries and a link for the customer to update their card win most of that revenue back.
- With Bachs, you can charge USD subscriptions from Nigeria, keep the revenue in a USD balance, and withdraw it as naira, stablecoins or to your own bank accounts abroad.
Why price your SaaS in USD?
- Your customers expect it. International buyers compare software prices in dollars. A clear USD price feels familiar and is easy to approve.
- One price list. You can sell to customers in many countries without maintaining a price for each one.
- Your revenue stays in dollars. You decide when, and whether, to convert to naira.
You can still show prices in a customer's own currency at checkout for one-time payments. A subscription, though, bills in the same currency for its whole life, so for international customers that's usually USD.
How do recurring card payments work?
- The first payment. The customer subscribes through a checkout and pays with their card. The card is saved for future charges.
- Renewals. At the end of each billing period, the subscription moves to the next period, an invoice is created, and the saved card is charged without the customer being present.
- Your system stays in sync. Each change, such as a renewal, a failed payment or a cancellation, sends your server a webhook, so you can grant or remove access automatically.
Because renewals happen without the customer present, only payment methods that can be saved and charged later can back a subscription. In practice, that means cards. Bank transfers and mobile money need the customer to approve each payment, so they suit one-time purchases instead.
What each payment method can do
Only a USD card can back a subscription or a free trial. Everything else suits one-time payments.
- CardUSD One-time payment: SupportedSubscription: SupportedFree trial: SupportedPayment links: Supported
- CardNGN One-time payment: SupportedSubscription: not offeredFree trial: not offeredPayment links: Supported
- Bank transferNGN One-time payment: SupportedSubscription: not offeredFree trial: not offeredPayment links: Supported
- Mobile moneyNine currencies One-time payment: SupportedSubscription: not offeredFree trial: not offeredPayment links: Supported
- CryptoUSDT, USDC and others One-time payment: SupportedSubscription: not offeredFree trial: not offeredPayment links: Supported
Why do subscription payments fail?
A renewal can fail even when the customer wants to keep paying. Common reasons:
- The card has expired or been replaced.
- There isn't enough money in the account on the day of the renewal.
- The bank declined the charge, for example as a fraud precaution.
Without a recovery process, every one of these becomes a lost customer. This is called involuntary churn, and it's one of the most fixable leaks in a subscription business.
How do you recover failed subscription payments?
Two things recover most failed renewals:
- Retry on a schedule. Many declines are temporary, so trying again a few days later often works.
- Ask the customer to update their card. Email them a link to a page where they can enter a new card, so they don't have to log in or contact you.
On Bachs, this is automatic. When a renewal fails, the subscription moves to past_due and Bachs retries the charge three times over about nine days: after one day, then three, then five. Each failed attempt emails the customer a link to update their card. If a retry or a new card succeeds, the subscription becomes active again. If all retries fail, you choose whether the subscription is cancelled or kept as unpaid so the customer can come back later.
What happens when a renewal fails
Three retries over about nine days. A success at any point makes the subscription active again.
- Renewal day What Bachs does: Charges the saved card. It fails, and the customer gets an email with a link to update their card.Subscription: past_due
- Day 1 What Bachs does: Retry 1. If it fails, the customer gets the email again.Subscription: past_due
- Day 4 What Bachs does: Retry 2, three days after the first retry.Subscription: past_due
- Day 9 What Bachs does: Retry 3, five days after the second retry.Subscription: past_due
- After retry 3 What Bachs does: Cancels the subscription, or marks it unpaid so the customer can come back. You choose which in your settings.Subscription: canceled or unpaid
How do free trials and plan changes work?
Free trials. With a free trial, the customer's card is saved at checkout but nothing is charged until the trial ends. Because the card is already on file, the first payment happens automatically, which converts more trials than asking for a card at the end.
Plan changes. When a customer upgrades or changes their seat count partway through a billing period, they've already paid for part of the old plan. Proration charges or credits only the difference for the time that's left. You can charge it straight away or add it to the next renewal.
Self-service. A customer portal lets customers manage their own subscriptions, invoices, cards and details, so you don't have to build that yourself.
Where do the dollars go?
On Bachs, USD subscription payments land in your USD balance and are available two days after each payment. From there you can:
- Withdraw to your Nigerian bank account in naira. You see the exchange rate, the conversion fee and the amount you'll receive before you confirm.
- Withdraw to a stablecoin wallet in USDT or USDC.
- Pay out to your own bank accounts abroad: USD in the US by ACH, wire or RTP, GBP in the UK, EUR in the eurozone and CAD in Canada.
- Keep it in USD until you need it. You're never forced to convert.
See supported payout routes and fees.
Can Nigerian customers subscribe too?
Yes, with a USD card. Subscriptions on naira cards aren't generally available yet: NGN subscriptions only run on accounts where they've been turned on. For customers who prefer to pay in naira, you can offer one-time payments by NGN card or bank transfer, such as an annual plan paid upfront.
How to start charging USD subscriptions
- Create a product with a USD price and a billing cycle, such as monthly or yearly. Add a trial period if you want one.
- Send customers to a checkout for that product. Completing it creates the subscription and takes the first payment.
- Listen for the subscription and invoice webhooks, and grant or remove access based on them.
- Test the whole flow in the sandbox, then go live.
See subscriptions for the full guide.