Tabby, Tamara and cards, checked 12 Oct 2026
Tabby integration with WooCommerce and Shopify, tested even on live-only keys
I add Tabby, Tamara and UAE card gateways to WooCommerce and Shopify stores, on merchant accounts that stay in your company's name.
From AED 5,900excl. VATSee pricing →
- A test plan for live-only keys
- Tabby's UAE test identities, mapped
- 21-day capture and 180-day refund rules
- Code I write is yours on final payment
- ★ 4.9 on Google (76 reviews)Lucknow, India profile
- 200+ projects since 2017
- Top Rated on Upwork, 100% Job Success
Founder-led delivery
Overview
Installing the plugin is rarely where stores get stuck. Testing is. Tabby's WooCommerce guide says testing runs on production keys, and its published test shoppers only work with test keys. So the test plan follows the keys you were actually given, and the job ends with one real AED order placed together on a call. Doing it yourself? The settings, the test sheet and the fixes are all below.
By Ashish Sharma, founder · Updated 12 October 2026
Quick answer
How do I add Tabby to a WooCommerce store, and how do I test it when Tabby has only given me live keys?
Enter the Public API Key and Secret API Key under WooCommerce > Settings > Tabby API, set Allowed Countries, set Plugin mode to Payment gateway, then enable Pay later with Tabby under WooCommerce > Settings > Payments. On live keys alone you cannot finish a test payment. You can follow the redirect, press Back to Store, confirm the cancellation, and check that Tabby appears only for AED baskets shipping to the UAE. For a full scenario run, ask partner@tabby.ai for test keys. Otherwise testing ends with one low-value live order that you then refund. Rather not run it yourself? I set it up on your accounts and place that order with you on a call.
- The Tabby Checkout plugin is free; it needs WordPress 5.7+ and PHP 7.4+.
- Test identities (otp.success@tabby.ai, OTP 8888) only work with pk_test_ and sk_test_ keys.
- Tabby may capture an authorised payment in full after 21 days untouched; refunds must start within 180 days.
01of 9
From Tabby account to checkout option in five steps
Check the server first. Tabby Checkout 5.16.1 needs WordPress 5.7+ and PHP 7.4+, and it supports HPOS and the block checkout.
1. Register, then find your keys
Register at merchant.tabby.ai in your company's name and complete KYC. The Public API Key and Secret API Key are at merchant.tabby.ai/business-profile/stores. Keys beginning pk_test_ and sk_test_ are test keys. Documents providers ask for: our Sharjah page.
2. Install Tabby Checkout
Tabby Checkout is free, MIT-licensed and published by tabbyai. Install it from Plugins > Add New, on a staging copy first if your theme is heavily edited.
3. Paste both keys under WooCommerce > Settings > Tabby API
Copy them from the dashboard straight into the two fields, never by email or WhatsApp.
4. Set Allowed Countries and Plugin mode
Allowed Countries: where you ship and Tabby trades (its docs say the UAE and KSA). Left empty, Tabby stays off. Plugin mode: Payment gateway. Promo only shows snippets but never offers Tabby at checkout: useful while approval is pending, baffling if nobody switches it back.
5. Enable the gateway and auto-updates
Switch on Pay later with Tabby under WooCommerce > Settings > Payments. Tabby's guide lists auto-updates as a setup step, and with reason: 5.14.0 removed countries and currencies Tabby no longer supports. Heavily customised theme? Update on staging first.
The licence, bank and gateway order before step one is in the e-commerce cost guide. Not on WooCommerce? Tabby has ready plugins for Magento 2, OpenCart, Odoo, Salla and Zid, so check before paying for API work.
02of 9
Live keys only? Here is what you can still test
Your keys decide the test plan. Tabby's testing guide says integrations not given test keys launch directly on live keys, and its WooCommerce guide says testing runs on production keys.
| Route | Test payments? | What you can run before go-live | What only a live order proves |
|---|---|---|---|
| Tabby WooCommerce plugin, live keys only | No. Testing runs on production keys | Redirect, Back to Store, cancellation, and where Tabby appears | Capture, settlement and refund |
| Tabby WooCommerce plugin, test keys (from partner@tabby.ai) | Yes, on pk_test_ and sk_test_ | The full test sheet below | Payout to your bank |
| Tabby Payment App, Shopify | Test mode exists, but Tabby never pays out test orders. Keep it off | Webhooks, phone field, country hiding | Capture and refund from the Shopify admin |
| Tamara Split Payments, Shopify | No. Leave Enable test mode unchecked | Widget display, the option in Settings > Payments | Everything on the payment side |
| Tabby custom API | Yes, during the build | Tabby's testing checklist and QA review | Cutover ends with one real order |
Tamara's WooCommerce listing says nothing about test access, so ask Tamara at onboarding whether you get sandbox credentials.
With live keys only, run cancel-and-return on a desktop and a phone, and confirm Tabby shows for an AED basket to a UAE address but not for other countries. Then we place the go-live order together on a call: you pay a small amount from your own phone, we check it reaches WooCommerce and the Tabby dashboard, and you refund it.
Tell me which keys you hold and I'll mark the checks they allow.
03of 9
Tabby’s UAE test identities, and what your order screen should show for each
Tabby lists what the shopper should see, but not what your order screen should show, and that is the screen your staff use. Test keys only. The OTP is always 8888; type phones with the leading plus.
| Scenario | Email and phone | What the shopper sees | What your WooCommerce or Shopify order should show |
|---|---|---|---|
| Success | otp.success@tabby.ai, 971500000001 | Approved and returned to your store | Payment CLOSED with the amount captured (Tabby's expected result), order paid |
| Pre-scoring reject | otp.success@tabby.ai, 971500000002 | Tabby not offered: unable to approve this purchase | No Tabby order created |
| Rejected on Tabby's page | otp.rejected@tabby.ai, 971500000001 | A rejection screen | Payment REJECTED, no Tabby order, cart kept, Tabby still selectable |
| Shopper cancels | Any test identity | Back at your Cancel URL | Cart not emptied, nothing charged |
| Tab closed before the redirect | Success identity | Nothing | Order still confirmed, by webhook or the plugin's timeout job |
| Refund sent twice | Not needed | Nothing | The same reference_id refunds nothing more; refunds stop at the captured total |
| Mobile app, focus change at the OTP | Success identity | Leaves for the OTP and comes back | Resumes at the same OTP step, no crash or hang |
The 15-minute rule. Since 5.16.1 the plugin caches a rejection against the buyer's phone (or email, without a phone) for 15 minutes, and won't re-check that buyer for the same or a bigger basket. Switching to the success phone is a different buyer. Re-running the reject row with the same phone isn't, so use a smaller basket or wait.
Then repeat the success and cancel rows in Arabic, reading the widget and the order and refund emails as your customer gets them. The plugin ships an Arabic translation, and on Shopify Tabby's payment page follows the store language. See my bilingual QA.
Have a project in mind?
Send a few lines on WhatsApp or get a fixed AED quote.
04of 9
Tabby missing at checkout? Check these nine things, in this order
The first four are settings. The last three are Shopify only.
| Symptom | Usual cause | Where to fix it |
|---|---|---|
| Snippets show, no checkout option | Plugin mode left on Promo only | WooCommerce > Settings > Tabby API |
| Missing for some shoppers | Currency and shipping country don't pair (AED needs a UAE address) | Store currency and shipping settings |
| Missing after a currency switch | Tabby not added for that currency in the multi-currency plugin | Currency switcher settings |
| Missing for everyone | Allowed Countries empty, or gateway not enabled | Tabby API settings, then Payments |
| Appears, then vanishes | Theme conflict (one WordPress.org review, February 2025, names Woodmart) | A staging copy with a default theme |
| Hidden for one tester only | That phone or email was rejected in the last 15 minutes | Smaller basket, other test phone, or wait |
| Shopify: order numbers don't sync | The six JSON webhooks to sfy-payment.tabby.ai are missing | Settings > Notifications > Webhooks |
| Shopify: country or order rules stopped working | Script Editor scripts stopped running on 30 June 2026 | Shopify Functions payment customisations (a Functions app, or Checkout Blocks on Plus) |
| Shopify: Tabby fails for some shoppers | Email contact and shipping phone not required, though Tabby asks for both | Checkout settings |
Row five is one user report, not a known issue. Before blaming your theme, try a default theme on staging.
Send me what you're seeing with your theme and plugin version.
05of 9
The clock after a Tabby order: 20 minutes, 21 days, 180 days
These read like API detail, but your warehouse and customer service meet them first.
| Moment | Rule | What it means for your store |
|---|---|---|
| Session created | Expires after 20 minutes by default; the payment turns EXPIRED about 10 minutes later | Don't hold stock longer than that |
| Payment authorised | If untouched for 21 days, Tabby may capture the remaining amount in full | Dispatch pre-orders inside 21 days, or capture early on purpose |
| Captured | Only captured payments are settled | An unshipped authorisation is not money yet |
| Refund | CLOSED payments only, in the capture currency: one full refund or several partials up to the captured total | One returned item from a basket is a partial refund |
| Refund deadline | Initiated within 180 days of payment creation; a processed refund can't be cancelled | Set your returns window inside it, and check amounts before pressing the button |
An authorisation isn't money. For pre-orders, capture on dispatch and dispatch inside 21 days, or Tabby may capture the rest itself. Place a staging order first and check its status in the Tabby dashboard: whether your store leaves payments authorised decides whether this window applies.
On Shopify it never opens, because Tabby's app captures automatically. Order edits in the Shopify admin don't reach Tabby, so handle a removed item as a partial refund. With Check Inventory Stock on, inventory tracking on and out-of-stock selling off, an order for stock you no longer hold is refunded and no Shopify order is created.
06of 9
Direct, through Telr or PayTabs, or by API
Most stores need cards working before instalments matter, and the card gateway can be your route to Tabby or Tamara too. The route decides who you sign with and whose plugin you depend on.
Card gateways on WooCommerce
N-Genius Online by Network is at 1.3.7 on WordPress.org. It needs PHP 8.0+ and is tested only to WordPress 6.8.11, so I put it on a staging copy of a WordPress 7.x site first. Telr and PayTabs aren't in the WordPress.org directory; their plugins come from the providers. Stripe suits stores already billing through it. Card fees: cost guide.
Tabby direct, or Tabby through Telr
Telr's pricing page includes Tabby in every UAE plan and says a valid trade licence is mandatory. Through Telr: one contract, Telr's plugin. Direct: Tabby's own plugin, widgets and dashboard. Ask each who settles your instalment payouts, and when.
Tamara direct, or Tamara through PayTabs
Tamara documents a PayTabs route in AED and SAR for existing PayTabs merchants. PayTabs activates a sandbox, then enables Tamara in production once testing is validated. If PayTabs already takes your cards, that is one fewer plugin to update.
Laravel or a custom store: the API
Odoo has Tabby's plugin. Elsewhere, pre-score with POST /api/v2/checkout, redirect, confirm on your server with GET /api/v2/payments/{id}, then capture with POST /api/v2/payments/{id}/captures. Tabby's docs say not to rely on the redirect alone, so an order marked paid from the redirect is a bug to rule out. Custom builds pass Tabby's testing checklist and QA review before live keys are issued.
07of 9
Tabby and Tamara on one store without the two plugins fighting over order status
Running both needs no custom code. What goes wrong is order status, because each plugin reports back to WooCommerce its own way.
Widgets: product page first, then cart
Keep each snippet to one line under the price, or the price block becomes an instalment advert. Tabby's can be switched off per SKU. A redesign around them is checkout design work.
Method order and hiding by country
Set the order under WooCommerce > Settings > Payments. Since 1.9.9.22, Tamara Checkout hides itself unless the billing country is the UAE or KSA. Tabby on Shopify takes AED and SAR with UAE or KSA billing addresses only, so hide it elsewhere with a payment customisation function.
Status sync: two plugins, two methods
Tabby's plugin confirms by webhook and on the confirmation page, with a timeout job as fallback. Tamara's authorises on the order-received page and runs its own scheduled jobs. Write down which WooCommerce status each outcome sets. Then start a Tamara payment, go back, pay with Tabby, and recheck that order later the same day. Cancelled while Tabby shows paid means a fix before launch.
The Shopify fee
Shopify's help centre says its third-party fee applies whenever a third-party provider processes the payment. Tamara's docs show it in Settings > Payments; Tabby's are silent, so check that screen before you budget. Plan rates: cost guide.
Have a project in mind?
Send a few lines on WhatsApp or get a fixed AED quote.
08of 9
What the plugins changed by 12 October 2026
Tabby's changelog is undated, so dates are each listing's last update. The plugins auto-update, so recheck before launch.
| Plugin | Version (date) | Requires | Active installs | Before launch |
|---|---|---|---|---|
| Tabby Checkout | 5.16.1 (7 Oct 2026) | WordPress 5.7+, PHP 7.4+, tested to 7.1.3; HPOS, block checkout | 4,000+ | Decide on Product Catalogue and Store insights |
| Tamara Checkout | 1.9.9.23 (8 Sep 2026) | PHP 7.3+, WooCommerce 4.0+ recommended | 3,000+ | Update past 1.9.9.21, which added order-key and capability checks |
| N-Genius Online by Network | 1.3.7 (9 Sep 2026) | PHP 8.0+, tested only to WordPress 6.8.11 | 1,000+ | Test on staging against WordPress 7.x |
Tamara Checkout 1.9.9.21 (17 August 2026) began requiring the order key on authorise requests, so update an older copy before launch. N-Genius 1.3.7 is tested only to WordPress 6.8.11.
Two Tabby settings are on until you turn them off. Product Catalogue lists your products on Tabby Shop. Store insights sends anonymised order statistics (products, categories, totals, payment method) to Tabby Marketplace. Datadog also gets technical logs of the plugin's API calls, with no customer names, emails, phones or addresses and with secret keys masked. Decide on each on purpose, and ask your adviser how the PDPL applies.
09of 9
Order limits nobody publishes
Limits are set per merchant
I found no public Tabby or Tamara minimum or maximum. Jarir's Tabby page shows AED 200–5,000, which is Jarir's range, not a rule. Online figures such as AED 100 / 7,500, 5.5–8% rates or two-to-three-day approval carry no source. Get your limits and rate per plan in writing; other fee lines are in the cost guide.
Why big baskets get declined
The Central Bank of the UAE treats BNPL as short-term credit under its amended Finance Companies Regulation, in force since 27 December 2023. White & Case and press reports put the consumer cap at AED 20,000 or three months' verified net income, whichever is lower, so a big basket can fail on the shopper's limit while your settings are fine. Check the exact wording in the CBUAE rulebook.
Pricing in AED
Quoted per store: instalments, cards or a rescue
Adding Tabby, Tamara or a card gateway to a working store has no fixed band. I quote it after a short discovery call, once I've seen the platform, plugin versions, theme and keys, and once we agree the scope, that price is fixed. Tabby and Tamara bill their fees to you directly (cost guide). A new store with instalments from day one is AED 5,900–49,000 over 2–6 weeks. Something else? Request a general quote.
Tabby or Tamara on an existing WooCommerce or Shopify store
Quoted after a short discovery call
Excl. VATTabby or Tamara on an existing WooCommerce or Shopify store · Fixed in writing once the scope is agreed
Install, settings, the tests your keys allow and the go-live order with you.
Get a quote for this plan
Card gateway, on its own or beside Tabby or Tamara (Telr, PayTabs, N-Genius, Stripe)
The card plugin from its source, on staging first, set beside any instalment option.
Laravel or custom store by API (Odoo via Tabby's plugin)
Pre-scoring, server-side confirmation, capture and refunds, through Tabby's QA review.
Fix a stuck integration (Tabby missing, statuses wrong)
Diagnosis on staging against the nine checks, the fix and a re-test.
E-commerce store (Shopify, WooCommerce or custom)
A new store with Tabby or Tamara and card checkout from launch. I write its policy pages, refunds and delivery through to terms and contact, and flag which of them each provider reviews. What gateways check.
- Fixed price in AED
- Free scoping call
- No obligation
My invoice is in dirhams and goes to our AED account as a bank transfer, separate from whatever Tabby, Tamara or your card gateway charges you. It comes in three stages: a 40% deposit, 40% when the store reaches the midpoint we set at the outset, and 20% once it goes live. Agree the scope and that figure is fixed; with the last payment, anything I write for your checkout, code and IP alike, becomes yours.
Prices are in UAE dirhams (AED) and exclude VAT. Project prices are converted from our GBP price list at GBP 1 = AED 4.90 (11 October 2026) and rounded; monthly plans are set in AED. Codingclave is an India-based supplier and is not registered for UAE VAT. VAT-registered UAE businesses usually account for VAT on imported services under the reverse-charge mechanism; confirm with your tax adviser.
Fixed AED quote
Tabby, Tamara or cards: what’s the job?
Send your store link, platform and theme, and say whether you hold test keys, live keys or none yet. Not the keys themselves. I'll set out the tests they allow and quote after a short call.

Ashish Sharma
Founder, Codingclave
Ashish or the team replies on WhatsApp or email during our hours, Mon–Sat, 8:30am–5:30pm GST.
- ★ 4.9 on Google (76 reviews) · Lucknow, India profile
- 200+ projects since 2017
- Top Rated on Upwork, 100% Job Success
- Founder-led delivery
Prefer WhatsApp?
WhatsApp AshishSend the store details
Platform, plugin versions, theme, card gateway and which keys you hold, on WhatsApp. Not the keys themselves.
One AED figure while you finish KYC
A short call, then one AED figure. Meanwhile you register with each provider and complete KYC.
Staging first
Plugins updated and configured on a copy. If Tabby is still reviewing you, Promo only first.
The tests your keys allow
The scenario sheet on test keys, or cancel-and-return on live keys, then the checkout and Arabic checks, together.
Go-live order in Gulf hours
Before handover, you and I place one genuine order, which you then refund. Every login comes back to you.
Plugin updates once the free fixes end
Any bug in my integration work that shows up within six months of go-live, I fix free. After that, Tabby, Tamara and gateway plugin updates can sit on a website care plan at AED 600–1,800 a month, which also covers security, backups and small changes.
FAQ
Questions UAE businesses ask us
Can’t see yours? Ask Ashish directly — you’ll get a straight answer, not a sales script.
Ask Ashish directly
What are Tabby's test credentials in the UAE: email, phone and OTP?
Why is Tabby not showing at checkout on my WooCommerce store?
Is the Tabby WooCommerce plugin free, and is there a Tabby sandbox?
What happens if I don't capture a Tabby payment within 21 days?
Can I run Tabby and Tamara together on one WooCommerce or Shopify store?
Does Shopify take a transaction fee when a customer pays with Tabby or Tamara?
Which countries, currencies and order values does Tabby accept for UAE stores?
Tabby and Tamara want KYC from my company. How does a developer in India work on the store?
Ashish Sharma · Founder
Test keys, live keys or none yet? That decides the test plan
Send your store link, platform and theme, and say whether you hold test keys, live keys or none yet. Not the keys themselves. I'll set out the tests they allow and quote after a short call.
- WhatsApp us or fill in the form
- Free scoping call
- Fixed AED quote, no obligation
- ★ 4.9 on Google (76 reviews) · Lucknow, India profile
- 200+ projects since 2017
- Top Rated on Upwork, 100% Job Success
- Founder-led delivery
Keep exploring
- UAE
Working with Codingclave from the UAE
- Price guide
E-commerce build and gateway fees in Dubai
- Sharjah
Gateway documents for Sharjah stores
- Service
Checkout and product-page design
- Service
Shopify store set-up for UAE sellers
- UAE
Get a fixed quote for your store
- Reviews
Codingclave reviews

Ashish Sharma
Founder, Codingclave · Updated 12 October 2026
Ashish founded Codingclave in Lucknow, India, in 2017 and still leads delivery on every project.
Sources (12)· public sources cited on this page
- Tabby – WooCommerce plugin installation
- Tabby – Testing credentials
- Tabby – Payment processing (custom integration)
- Tabby – Custom integration quick start
- Tabby – Shopify payment app
- Tabby – Integration options
- WordPress.org – Tabby Checkout plugin
- WordPress.org – Tamara Checkout plugin
- WordPress.org – N-Genius Online by Network
- Tamara – Shopify payment app
- Shopify Help Centre – Pricing overview and third-party transaction fees
- White & Case – UAE Central Bank framework for BNPL providers