Charge foreign cards with Stripe

Stripe is how a customer paying in dollars, pounds or euros is charged in that currency. It uses your own Stripe account and a restricted key, and it appears at checkout only for a currency you have enabled.

Available on every plan · Updated 12 September 2026

Also asked as: charge international customers · stripe restricted key · stripe does not show at checkout · sell in dollars · sk key not accepted

Stripe here does one job: charging a customer in the currency they are shopping in. Everything else on your checkout charges in naira. So Stripe is worth connecting when you sell abroad and want the card statement to read in dollars, pounds or euros rather than a naira amount the customer's bank converted.

Like the other gateways it is bring your own account: the charge runs on your Stripe account, settles to you on Stripe's terms, and we hold none of it. It is on every plan.

It only appears when two things are true

This is the part worth reading twice. Stripe is offered at checkout only when both are true:

  1. Your keys are connected here.
  2. The customer is paying in a currency you have enabled under Settings → Currencies, and it is not your store currency.

A customer paying in naira never sees Stripe, however it is configured. If you have not added a second currency, nobody sees it at all.

1. Find the card

Go to Settings → Payments → Payment Methods and scroll to Your payment gateways. The Stripe card says what it is for.

The Stripe card, inactive, with No keys connected and Connect keys

Choose Connect keys.

2. Create a restricted key in Stripe

The Stripe setup page: Mode, Live restricted key, an optional webhook signing secret and the Webhook URL

The key field takes a restricted key and nothing else. In Stripe Dashboard → Developers → API keys, create a restricted key with one permission: Checkout Sessions: write.

A standard secret key is refused, and the refusal is deliberate rather than fussy. A standard key can do anything your Stripe account can do, including moving money and reading every customer you have ever had. Taking a payment needs one narrow permission, so that is all we ask for and all we will accept. You are never asked for a publishable key either: the payment page is hosted by Stripe and needs nothing in the customer's browser.

Mode works as it does for the other gateways: live and test key sets can both be saved, and the toggle decides which checkout uses.

3. Add the webhook, if you want instant confirmation

The Webhook URL field holds an address for your store alone. In Stripe Dashboard → Developers → Webhooks, add it as an endpoint listening for completed checkout sessions, then paste the signing secret Stripe gives you into the field above. It is optional: without it a payment is confirmed when the customer comes back, and by a check that runs afterwards.

4. Connect, then test

Choose Connect Stripe, then Test connection. The test proves the key is genuine. A restricted key that is real but not allowed to read your account details still passes, which is expected: it is restricted on purpose.

5. Switch it on

Back on Settings → Payments → Payment Methods, the Stripe switch now moves.

What the customer sees

A customer browsing in a currency you enabled sees an extra option at the top of the payment list, named for the currency they are in: Pay by card (charged in USD), for example. Choosing it takes them to a payment page hosted by Stripe and brings them back when it is done.

The order records the amount actually charged in that currency, rounded to whatever that currency uses, so the figure charged and the figure shown are the same figure. Your reporting still totals in naira, so a month of mixed sales adds up.

If it does not work

  • Stripe never appears at checkout: the customer is paying in your store currency. Add and enable another currency under Settings → Currencies, and remember the switcher only shows on your shop once more than one currency is enabled.
  • The key is refused: it starts with the standard secret prefix. Create a restricted key instead, with Checkout Sessions: write.
  • The key looks right and is still refused: a live key was pasted into the test field or the other way round. The fields are per mode.
  • Test connection cannot reach Stripe: check the key has not been rolled in your Stripe dashboard.
  • Naira payments stopped working: they are unrelated. Naira always goes through Paystack, Monnify or a direct method, never Stripe.

Email support@shoponent.com with your store name if anything here does not match what you see. We read and answer every message.

Still stuck?

Email support@shoponent.com with your store name. We read and answer every message.