Web

Selling into Bahrain from a Kuwaiti store: the wallet decides more than the card

Bahrain looks like the easy GCC market for a Kuwaiti store. It is small, close, well connected and used to buying online. The trap is assuming it behaves like Kuwait with a different flag, when the way Bahrainis actually pay is different enough to decide whether the first orders complete at all.

This is the second country in my look at selling across the Gulf from a Kuwaiti store, after Saudi Arabia. The Saudi question was where the money is acquired. The Bahraini one is simpler to state and easier to get wrong: which wallet is in the customer’s hand.

Decide what kind of market Bahrain is for you

There are two honest versions. In the first, Bahrain is extra deliveries: customers who find you, pay in whatever your checkout already accepts, and wait a little longer. In the second, it is a market: prices in dinars, the local way of paying, delivery promises you can keep, and some marketing spent there.

The first costs almost nothing and converts poorly. The second costs a gateway conversation, some checkout work and a delivery arrangement, and it is the only version in which Bahraini customers behave like your Kuwaiti ones. What does not work is the middle: advertising in Bahrain while running a checkout built only for Kuwait. That spends money to send people to a page they cannot finish.

The evidence for which version you are in is already in your own data. Look at where your enquiries, your WhatsApp messages and your analytics sessions come from. If Bahrain is a visible share without any effort, the market is telling you something. If it is a handful of orders a year, extra deliveries is the right answer for now.

The Bahraini customer pays with the phone

Kuwait’s habit is KNET: a debit card, a bank page, a code. Bahrain’s everyday habit is increasingly the national wallet. BenefitPay, run by Benefit, Bahrain’s electronic payments network, describes itself as the national electronic wallet, and offers in-app and web checkout for merchants through APIs and SDKs as well as the QR codes seen at shop counters.

For a store, that means the payment method Bahraini customers reach for first may not be a card at all. A checkout that offers only card fields, even one that accepts their debit cards, is asking them to do it the less familiar way. Offer the wallet, and put it where they expect it: first, not buried under “other methods”.

On a desktop, the wallet is a QR code

The web version of the wallet works by handing the payment to the phone. Tap’s BenefitPay web SDK documentation describes it plainly: the customer clicks the BenefitPay button and receives a QR code that directs them to the app to complete the payment. It also notes that the store’s domain has to be registered with the provider before the button works at all.

Two design consequences follow. On a desktop, the checkout must show a scannable code clearly, with a line of instruction, and wait patiently while the customer finds their phone; a page that times out in ninety seconds will lose them. On a phone, the hand-off to the app has to come back to your order confirmation, not to a blank page. Test both on real devices with a real Bahraini account before launch, because neither can be judged from a Kuwaiti test card.

Two columns comparing treating Bahrain as extra deliveries from a Kuwaiti store with treating it as a market with its own checkout
The middle option, advertising in Bahrain with a Kuwait-only checkout, is the one that wastes money.

Benefit cards are charged in dinars, immediately

Bahraini debit cards run on Benefit, the domestic scheme, just as Kuwaiti ones run on KNET. And like KNET, it is tied to its own currency. Tap’s Benefit documentation states that Benefit only supports payments in BHD, just as its KNET documentation states that KNET accepts KWD only. A store that charges everything in Kuwaiti dinars cannot take Benefit cards, whatever the gateway supports.

The same documentation notes that Benefit does not support authorisation transactions. The money is taken at the moment of payment, not reserved and captured later. If your store authorises at checkout and captures at dispatch, Benefit orders need their own path: charge in full, refund what does not ship. It is the same lesson the Saudi post draws for mada, and it catches the same stores.

Refunds follow the same currency. A Bahraini order paid in BHD is refunded in BHD, and if your settlement account is in Kuwaiti dinars, the conversion happens twice, once on the way in and once on the way out. Know what your provider charges for that before you promise free returns to Bahrain.

Two dinars, both with three decimals

The Bahraini dinar and the Kuwaiti dinar are both divided into a thousand fils, not a hundred. Most e-commerce software is written and tested for two-decimal currencies, and the third decimal is where small bugs live: prices rounded to ten fils in one place and not another, a discount that leaves a total one fils off the charge, a plugin that sends 12.50 when the gateway expected 12.500.

Kuwaiti stores have usually solved this for KWD already, often without noticing. Adding BHD reopens it. Set prices in dinars deliberately rather than converting at checkout, check that every total the customer sees matches the amount the gateway receives to the fils, and test a discount code in BHD before the first campaign.

Three cards: a wallet that is missing or hidden, Benefit cards refused because the store charges in Kuwaiti dinars, and totals that disagree by a fils, each with the fix
None of the three shows up in testing with a Kuwaiti card.

Your acquirer has to enrol you, not Benefit

Benefit does not sign up online stores directly. Its own guidance for BenefitPay is to approach the acquirer, which registers the merchant through its admin portal and activates the service. So the practical question goes to your payment provider: will you enrol a Kuwaiti merchant for Benefit cards and BenefitPay, in BHD, settling to which account, and on which platform plugin?

Ask for the answer in writing, with the plugin version you actually run. A provider that supports BenefitPay through its own SDK may not support it through the Shopify or WooCommerce plugin your store uses. That gap is the most common reason a promised payment method never appears. It is the same conversation as getting KNET approved, with one more country’s scheme on the list.

The address has a block, not a postcode

Bahraini addresses are built from a building number, a road number and a block number, and the block is the postal code in practice: a three- or four-digit number, as address-format references list it. A checkout that asks for “postcode” and validates it as a five-digit field will reject correct Bahraini addresses, and one that offers only free text will collect addresses a courier cannot use.

Give Bahrain its own address fields: building, road, block, area. It is a small change on most platforms, and it is the same principle as the checkout that asks for an address that does not exist here, applied to a neighbour.

The parcel flies or crosses Saudi Arabia

There is no direct road between Kuwait and Bahrain. A parcel goes by air, or overland through Saudi Arabia and across the causeway, which adds a border and a transit country to what looks like a short trip. Neither is slow by international standards, but neither is next-day, and the customer should know that before paying.

Put a realistic delivery estimate for Bahrain on the product page and in the checkout, not only in the confirmation email. Decide who pays for returns and say so. A Bahraini customer who expected Kuwaiti delivery times and got a week is a complaint, while one who was told a week and got five days is a repeat order.

The order I would do it in

Ask your gateway about Benefit and BenefitPay first, in writing, because everything else waits on that answer. If they cannot enrol you, find out who can before touching the store. Then set BHD prices, add the wallet with its QR flow, give Bahrain its own address fields and a delivery promise, and test the whole path on a real phone in Bahrain. Advertise only after a real order has gone through from end to end.

If the numbers do not justify that yet, that is a fine answer too. Stay in the first version, extra deliveries, and spend nothing on Bahraini marketing until the checkout is ready for it. Payment links are a reasonable stopgap for the occasional Bahraini order, if your provider can issue them in BHD. Where you want the store set up to take both countries properly, Tothiq builds WooCommerce stores with KNET and GCC payment methods connected and tested.

Frequently asked questions

Do I need a Bahraini company to sell to customers in Bahrain?

Not to sell and ship to them. Whether you can accept Benefit and BenefitPay from Kuwait depends on whether your payment provider will enrol a Kuwaiti merchant for them, so ask that before anything else.

Can Bahraini customers pay with KNET?

No. KNET is Kuwait’s scheme for Kuwaiti bank cards. Bahraini debit cards run on Benefit, and many customers prefer the BenefitPay wallet. Credit cards work across the border, but they are not what most people reach for.

Can I keep charging in Kuwaiti dinars for Bahraini orders?

For credit cards, usually yes. For Benefit debit cards, no: the scheme only supports payments in Bahraini dinars. Charging in KWD means Bahraini customers must use a credit card or give up.

Why does the BenefitPay button not appear on my store?

Usually one of three things: the provider has not enabled it on your account, your domain has not been registered with them, or your platform plugin does not support it even though the provider’s own SDK does.

Is Bahrain worth it for a small Kuwaiti store?

It can be, if a real share of your enquiries already come from Bahrain. Check your analytics and messages first. If they do, the checkout work pays back quickly; if not, serve it as extra deliveries until they do.

Have a project, problem or idea?

Let's discuss what you're trying to build, improve or grow — and whether I can help.

Discuss Your Project