Flitt Payments — quick-start
Accept Visa, Mastercard, Apple Pay and Google Pay through Flitt's hosted checkout. Flitt (formerly Fondy) is a multi-currency acquirer — useful if your store sells in EUR / USD / GBP alongside GEL. Setup takes about 30 minutes assuming your Flitt merchant account is approved.
codeon-flitt-paymentBefore you begin
Three prerequisites — same shape as the bank-side guides (TBC / BoG), but signed up with Flitt instead of a Georgian bank.
- An active Flitt merchant account. Flitt is the rebranded name for Fondy; if you have a legacy Fondy account, it works as-is. Sign up at flitt.com. Approval typically takes 2-5 business days and involves submitting your business documents + website URL.
- Your Flitt API credentials: a numeric
merchant_idand asecret_key. Both visible in the Flitt merchant dashboard under Settings → Technical settings. Production credentials become visible once your contract is signed; sandbox credentials are available immediately on signup. - WordPress admin access to your store, and WooCommerce already installed and active. The plugin doesn't install WooCommerce for you; if you don't have it yet, install it from Plugins → Add New first.
Buy a Flitt Payments license
Open the Flitt Payments product page and click Buy license. License is ₾160 / year per domain with a 14-day no-questions refund window.
Download the plugin ZIP
Sign in and open codeon.ge/downloads. Find Flitt Payments and click Download.
The download is a ZIP file watermarked with your account. Don't share it — it's tied to your license and will stop working on stores it's not meant for.
Install the plugin in WordPress
In your WordPress admin, go to Plugins → Add New → Upload Plugin. Select the ZIP you downloaded, click Install Now, then Activate Plugin.
Once activated, you'll see a yellow admin notice asking for your license key. Click Enter license key— it goes to the plugin's settings screen at WooCommerce → Settings → Payments → Flitt.
Activate your license
On the plugin settings screen, paste your license key into the License key field and click Save changes.
- A green Active badge with your expiry date (one year from purchase).
- Your store's domain shown as the bound domain — license keys bind on first use.
- The Flitt credentials section becomes unlocked underneath.
Plug in your Flitt merchant credentials
The Flitt credentials section accepts a numeric merchant_id and a secret_key. Start in Sandbox mode using the test credentials available on signup, then flip to production once a test order succeeds.
- Field: merchant_id
- Your Flitt merchant identifier — a 7-digit number. Visible in the Flitt dashboard under Settings → Technical settings. Sandbox ids are usually prefixed
test_in the Flitt UI. - Field: secret_key
- The signing secret Flitt issued. Around 40 characters of hex. Treat as a secret — never paste into chats or screenshots.
- Mode
- Toggle
Sandbox / Production. Start in Sandbox; flip to Production in step 7 once your test order succeeds. - Settlement currency
- Pick the currency your Flitt merchant account settles in (GEL, EUR, USD, GBP, etc.). Doesn't have to match the WooCommerce store currency — Flitt converts at its rate when it deposits.
Click Save changes. The plugin pings Flitt's status endpoint with these credentials and shows a green Connected badge if the handshake succeeds. A red badge means Flitt rejected the credentials — usually a typo in the secret_key, or the merchant_id matches a different account from the secret.
Place a 1-cent test order
Open your storefront in an incognito window so you're not logged in as admin. Add any product to cart, drop the quantity / price down to a 1-cent (or 1-tetri) test value, and proceed to checkout.
Pick Flitt and click Place order. You're redirected to Flitt's hosted card-entry page.
Flitt sandbox test cards
Flitt's sandbox accepts the universal industry test card. The full list (including 3-D Secure-required cards and decline-pattern cards) lives in the Flitt developer docs.
Card number : 4111 1111 1111 1111
Expiry : any future month / year
CVV : 123
Name : any
3-D Secure : 1234 (when prompted)
Confirm the test charge. Flitt redirects back to your store and you should see:
- Order status flips from Pending to Processing.
- An Order received email lands in your inbox.
- In WooCommerce → Orders, the Flitt
order_idandpayment_idare populated on the order detail page — useful when you reconcile in Flitt's merchant dashboard later. - In Flitt's sandbox dashboard, the test payment shows up in the transaction log within ~5 seconds.
Switch to production credentials
Once your sandbox test passes, flip the Mode toggle to Production and replace the credentials with the production merchant_id / secret_key from your Flitt dashboard. Click Save changes — the green Connectedbadge should reappear, this time against Flitt's production endpoint.
Run one more small order using a real card (not a sandbox test number). The charge will land on your actual card statement; refund it to yourself from WooCommerce → Orders → Refundwhen you're done to make a clean cut.
What your customers see
On your storefront checkout, the Flitt option appears with the supported card-network marks (Visa, Mastercard, Apple Pay, Google Pay). Apple Pay / Google Pay show up natively on iOS / Android. Selecting it and placing the order takes the customer to Flitt's hosted card-entry page — you never handle their card data, and you don't need PCI-DSS Level 1 certification.
Issuing a refund
From WooCommerce → Orders → [order] → Refund, enter the refund amount and click Refund via Flitt. The plugin calls Flitt's refund endpoint and updates the order status synchronously (no callback round-trip like BoG's flow).
- Same-day full refund: the auth is released before settlement; the customer sees nothing on their statement. After settlement, Flitt processes it as a standard refund (3-5 business days back to the card).
- Partial refund: supported. Refund line items individually or enter an arbitrary amount up to the order total.
- Multi-currency caveat:if your store currency differs from your settlement currency, the customer is refunded in the original transaction currency at Flitt's prevailing rate. Small FX differences between charge and refund are normal.
Common errors and what they mean
License domain limit reached- Your key is already bound to a domain. Disconnect the old domain from /licenses first, then re-activate on the new store.
License expired- Your 365-day term ended. Plugin keeps working through the 14-day grace window. Renew from /licenses — the same key continues to work after renewal.
Flitt: invalid signature- The secret_key you pasted doesn't match the merchant_id on Flitt's side. Most often this means you copied a sandbox secret while in production mode (or vice versa). Double-check the Mode toggle.
Flitt: 3DS authentication failed- Customer cancelled or failed the 3-D Secure step on Flitt's page. The order stays Pending — the customer can retry with a different card or bank.
requires PHP version 8.1 or higher- Your host is on PHP 7.4 / 8.0. Bump the PHP version from your hosting control panel and re-activate the plugin.
Next steps
- Add TBC Card or BoG Card alongside Flitt so customers can pick their issuing bank instead of routing through a third party. Many Georgian buyers prefer their domestic bank's checkout.
- Selling internationally? Flitt is the right primary choice — TBC / BoG are GEL-only. Pair Flitt with BoG Installments or TBC Installments for your local-market loan option.
- Building automation around order events? The integrator docs cover the public REST surface and the Flitt webhook contract.