TAFI – Págalo Relax

Sharraxaad

TAFI Pay lets your customers buy now and pay in installments without a credit card, using a WhatsApp-based confirmation flow operated by TAFI Tech in Panama.

How it works:

  1. The customer selects “Pay with TAFI” at checkout
  2. The customer enters a Panamanian mobile phone number
  3. TAFI sends a credit request to the customer through WhatsApp
  4. The customer accepts within 2 minutes and the payment is confirmed automatically
  5. Your store receives a webhook notification and processes the order

Features:

  • Native integration with WooCommerce, no extra code required
  • Simple setup: only an API Key and Merchant ID are needed
  • Sandbox and production environments
  • Automatic notifications via webhook
  • High-Performance Order Storage (HPOS) compatible
  • WooCommerce Checkout Blocks compatible
  • Transaction details visible in the order admin panel
  • Debug logs integrated with WooCommerce

Requirements:

  • WordPress 5.8+
  • WooCommerce 6.0+
  • PHP 8.0+
  • Active TAFI merchant account, available at the TAFI merchant portal

Third-Party Services

This plugin connects to the TAFI API, a service provided by TAFI Tech, to process Buy Now, Pay Later (BNPL) payments.

When a customer selects TAFI as their payment method at checkout, the following data is sent to the TAFI API:

  • Merchant ID (idComercio)
  • Customer phone number (celular)
  • Order total amount (valor)
  • Order description (descripcion)
  • Branch name (sucursal)
  • Salesperson name (vendedor)
  • Transaction ID (idTransaccion)

TAFI sends payment confirmation notifications back to your store via webhook when the customer accepts or rejects the payment in WhatsApp. The webhook includes: idTransaccion, numeroAutorizacion, valor, creditoFirmado and descripcionError.

Service endpoints:

  • Production: https://api.fintafi.com
  • Sandbox: https://api.tafitech.io/dev

Links:

Please review TAFI’s privacy policy before using this plugin.

Rakibaad

Automatic installation (recommended):

  1. In your WordPress dashboard go to Plugins > Add New
  2. Search for “TAFI Pay”
  3. Click “Install Now” and then “Activate”

Manual installation:

  1. Download the plugin ZIP file
  2. Go to Plugins > Add New > Upload Plugin
  3. Upload the ZIP and activate the plugin

Configuration:

  1. Go to WooCommerce > Settings > Payments
  2. Click on “TAFI” to configure it
  3. Enter your API Key and Merchant ID (obtained from the TAFI merchant portal)
  4. Copy the displayed Webhook URL and register it in your TAFI panel
  5. Choose the environment (Sandbox for testing, Production for live sales)
  6. Save changes

SBI

Do I need a TAFI account to use this plugin?

Yes. You need to register as a merchant at the TAFI merchant portal to obtain your API Key and Merchant ID.

Does the plugin work outside Panama?

No. TAFI operates exclusively in Panama. The payment method only appears for customers with a Panamanian billing address (PA).

What amounts does the sandbox accept?

The sandbox environment accepts transactions between USD 20.00 and USD 300.00.

How do I configure the webhook?

After activating the plugin, go to WooCommerce > Settings > Payments > TAFI. You will find your webhook URL in this format:
https://your-store.com/wc-api/tafi_webhook/
Copy it and register it in your TAFI panel.

Where can I see transaction logs?

Enable “Debug log” in the plugin settings. Logs are available under WooCommerce > Status > Logs > tafi-pagalo-relax.

Is the plugin HPOS compatible?

Yes. The plugin is fully compatible with High-Performance Order Storage (Custom Order Tables).

Dibu-eegisyo

Ma jiraan wax dibu-eegis ah oo ku saabsan kaabahan.

Ka-qaybgalayaasha & Horumariyayaasha

“TAFI – Págalo Relax” waa softiweer il furan. Dadka soo socda ayaa wax ku biiriyay kaabahan.

Ka-qaybgalayaasha

Ku tarjun “TAFI – Págalo Relax” luqaddaada.

Ma xiisaynaysaa horumarinta?

Baadh koodka, fiiri bakhaarka SVN, ama iska qor diiwaanka horumarinta adigoo adeegsanaya RSS.

Isbeddellada

1.1.2

  • Added a “Cancelar y elegir otro método de pago” button to the confirmation page. It annuls the credit at TAFI, moves the order to “failed” and sends the customer to the order’s payment page, where every gateway the merchant offers is listed — including TAFI itself, which starts a fresh credit request on the same order. No second order is created. If the customer happens to sign in WhatsApp while deciding, the credit is checked first and the cancellation is refused rather than releasing a paid order for payment again.
  • Fixed the sandbox availability check hiding TAFI on the order payment page: it measured the cart, which is empty by then, so a customer retrying with TAFI never saw it offered.
  • Fixed two retry bugs on orders that get a second credit request: the status-check counter was not reset, so the first scheduled check could immediately auto-cancel the new request, and a leftover scheduled check from the previous request was left in the queue.
  • Fixed a double-payment risk on the order confirmation page: while the 5-minute WhatsApp countdown was running, WooCommerce still offered its native “Pagar” and “Cancelar” order actions, so a customer could pay the same order again with another gateway or cancel it locally while the credit stayed open at TAFI. Both actions are now blocked for pending TAFI orders, at the URL level and not just visually. “Failed” orders remain payable so customers can retry with another method after a rejection.
  • When a credit is never signed, the order is now annulled at TAFI (step 7, anularsolicitudcredito) before being cancelled locally, on both the browser timeout path and the scheduled-check fallback. Previously the order closed in WooCommerce while TAFI kept holding the request until it expired on its own.
  • The phone field at checkout now explains that customers who are not TAFI users yet can sign up from WhatsApp in minutes, with a “Registrarse” link to TAFI’s onboarding line. Filterable via tafi_register_whatsapp_url.
  • Admin styles and the order-screen script no longer load while editing unrelated post types.

1.1.1

  • Fixed a critical error that broke the block editor: when the gateway was set to the sandbox environment, opening or creating any post or page returned “There has been a critical error on this website”. WooCommerce asks every gateway whether it is available while loading editor assets, and the sandbox amount check dereferenced the cart, which does not exist outside the frontend.
  • Tested with WordPress 7.1

1.1.0

  • Thank-you confirmation block now renders above the order summary so the customer sees the WhatsApp flow first
  • New modal pop-up that announces the final state (approved, rejected, expired) on top of the page
  • Fixed reconciliation bug: status checks now mark the order as paid as soon as the customer signs in WhatsApp (estadoCredito “Aceptado” with creditoFirmado true), matching the webhook behaviour
  • Added a “Consultar estado en TAFI” button in the order admin screen so merchants can manually trigger an API check when the customer’s tab closed before polling resolved
  • Manual status-check action is now available on any TAFI order, not only those still pending
  • Background safety-net: when an admin loads the dashboard, the plugin sweeps TAFI orders stuck in “pending” for 5+ minutes and reconciles them against the TAFI API. Throttled to one sweep every two minutes. Runs independently of wp-cron so it works even on sites where scheduled tasks are unreliable.

1.0.0

  • Initial release
  • Full integration with the TAFI API
  • Webhook confirmation support
  • HPOS compatibility
  • Settings panel
  • Debug logging