{"id":319288,"date":"2026-07-19T16:24:49","date_gmt":"2026-07-19T16:24:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/tafi-pagalo-relax\/"},"modified":"2026-08-17T23:24:04","modified_gmt":"2026-08-17T23:24:04","slug":"tafi-pagalo-relax","status":"publish","type":"plugin","link":"https:\/\/so.wordpress.org\/plugins\/tafi-pagalo-relax\/","author":23507282,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.2","stable_tag":"1.1.2","tested":"7.1","requires":"5.8","requires_php":"8.0","requires_plugins":null,"header_name":"TAFI - P\u00e1galo Relax","header_author":"Financiera Tafi, S.A.","header_description":"Accept TAFI Buy Now, Pay Later payments in your WooCommerce store. Customers choose TAFI at checkout, receive a request via WhatsApp, and confirm in seconds.","assets_banners_color":"bfacb3","last_updated":"2026-08-17 23:24:04","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/tafi.com.pa","rating":0,"author_block_rating":0,"active_installs":0,"downloads":164,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.1.0":{"tag":"1.1.0","author":"tafitechsys","date":"2026-07-19 16:24:13"},"1.1.1":{"tag":"1.1.1","author":"tafitechsys","date":"2026-08-14 16:33:12"},"1.1.2":{"tag":"1.1.2","author":"tafitechsys","date":"2026-08-17 23:24:04"}},"upgrade_notice":{"1.1.2":"<p>Closes a double-payment risk: customers could pay a pending TAFI order a second time with another gateway while the WhatsApp countdown was still running. Recommended for all stores.<\/p>","1.1.1":"<p>Fixes a critical error that made the block editor unusable when the plugin was set to the sandbox environment. Recommended for every store still in setup or testing.<\/p>","1.1.0":"<p>Improves the order confirmation page, fixes a reconciliation bug where orders signed in WhatsApp were not marked as paid immediately, and adds a manual status-check button to the order admin screen.<\/p>","1.0.0":"<p>First stable release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3621430,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3621430,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3621430,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3621430,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.0","1.1.1","1.1.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[193715,148099,3148,51755,6593],"plugin_category":[45],"plugin_contributors":[272339],"plugin_business_model":[],"class_list":["post-319288","plugin","type-plugin","status-publish","hentry","plugin_tags-bnpl","plugin_tags-buy-now-pay-later","plugin_tags-checkout","plugin_tags-installments","plugin_tags-payment-gateway","plugin_category-ecommerce","plugin_contributors-tafitechsys","plugin_committers-tafitechsys"],"banners":{"banner":"https:\/\/ps.w.org\/tafi-pagalo-relax\/assets\/banner-772x250.png?rev=3621430","banner_2x":"https:\/\/ps.w.org\/tafi-pagalo-relax\/assets\/banner-1544x500.png?rev=3621430","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/tafi-pagalo-relax\/assets\/icon-128x128.png?rev=3621430","icon_2x":"https:\/\/ps.w.org\/tafi-pagalo-relax\/assets\/icon-256x256.png?rev=3621430","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>TAFI Pay<\/strong> 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.<\/p>\n\n<p><strong>How it works:<\/strong><\/p>\n\n<ol>\n<li>The customer selects \"Pay with TAFI\" at checkout<\/li>\n<li>The customer enters a Panamanian mobile phone number<\/li>\n<li>TAFI sends a credit request to the customer through WhatsApp<\/li>\n<li>The customer accepts within 2 minutes and the payment is confirmed automatically<\/li>\n<li>Your store receives a webhook notification and processes the order<\/li>\n<\/ol>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Native integration with WooCommerce, no extra code required<\/li>\n<li>Simple setup: only an API Key and Merchant ID are needed<\/li>\n<li>Sandbox and production environments<\/li>\n<li>Automatic notifications via webhook<\/li>\n<li>High-Performance Order Storage (HPOS) compatible<\/li>\n<li>WooCommerce Checkout Blocks compatible<\/li>\n<li>Transaction details visible in the order admin panel<\/li>\n<li>Debug logs integrated with WooCommerce<\/li>\n<\/ul>\n\n<p><strong>Requirements:<\/strong><\/p>\n\n<ul>\n<li>WordPress 5.8+<\/li>\n<li>WooCommerce 6.0+<\/li>\n<li>PHP 8.0+<\/li>\n<li>Active TAFI merchant account, available at the TAFI merchant portal<\/li>\n<\/ul>\n\n<h3>Third-Party Services<\/h3>\n\n<p>This plugin connects to the <strong>TAFI API<\/strong>, a service provided by TAFI Tech, to process Buy Now, Pay Later (BNPL) payments.<\/p>\n\n<p>When a customer selects TAFI as their payment method at checkout, the following data is sent to the TAFI API:<\/p>\n\n<ul>\n<li>Merchant ID (idComercio)<\/li>\n<li>Customer phone number (celular)<\/li>\n<li>Order total amount (valor)<\/li>\n<li>Order description (descripcion)<\/li>\n<li>Branch name (sucursal)<\/li>\n<li>Salesperson name (vendedor)<\/li>\n<li>Transaction ID (idTransaccion)<\/li>\n<\/ul>\n\n<p>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.<\/p>\n\n<p><strong>Service endpoints:<\/strong><\/p>\n\n<ul>\n<li>Production: <code>https:\/\/api.fintafi.com<\/code><\/li>\n<li>Sandbox: <code>https:\/\/api.tafitech.io\/dev<\/code><\/li>\n<\/ul>\n\n<p><strong>Links:<\/strong><\/p>\n\n<ul>\n<li>TAFI website: <a href=\"https:\/\/tafi.com.pa\">https:\/\/tafi.com.pa<\/a><\/li>\n<li>Privacy policy: <a href=\"https:\/\/tafi.com.pa\/politica-de-privacidad\">https:\/\/tafi.com.pa\/politica-de-privacidad<\/a><\/li>\n<\/ul>\n\n<p>Please review TAFI's privacy policy before using this plugin.<\/p>\n\n<!--section=installation-->\n<p><strong>Automatic installation (recommended):<\/strong><\/p>\n\n<ol>\n<li>In your WordPress dashboard go to Plugins &gt; Add New<\/li>\n<li>Search for \"TAFI Pay\"<\/li>\n<li>Click \"Install Now\" and then \"Activate\"<\/li>\n<\/ol>\n\n<p><strong>Manual installation:<\/strong><\/p>\n\n<ol>\n<li>Download the plugin ZIP file<\/li>\n<li>Go to Plugins &gt; Add New &gt; Upload Plugin<\/li>\n<li>Upload the ZIP and activate the plugin<\/li>\n<\/ol>\n\n<p><strong>Configuration:<\/strong><\/p>\n\n<ol>\n<li>Go to WooCommerce &gt; Settings &gt; Payments<\/li>\n<li>Click on \"TAFI\" to configure it<\/li>\n<li>Enter your API Key and Merchant ID (obtained from the TAFI merchant portal)<\/li>\n<li>Copy the displayed Webhook URL and register it in your TAFI panel<\/li>\n<li>Choose the environment (Sandbox for testing, Production for live sales)<\/li>\n<li>Save changes<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20tafi%20account%20to%20use%20this%20plugin%3F\"><h3>Do I need a TAFI account to use this plugin?<\/h3><\/dt>\n<dd><p>Yes. You need to register as a merchant at the TAFI merchant portal to obtain your API Key and Merchant ID.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20outside%20panama%3F\"><h3>Does the plugin work outside Panama?<\/h3><\/dt>\n<dd><p>No. TAFI operates exclusively in Panama. The payment method only appears for customers with a Panamanian billing address (PA).<\/p><\/dd>\n<dt id=\"what%20amounts%20does%20the%20sandbox%20accept%3F\"><h3>What amounts does the sandbox accept?<\/h3><\/dt>\n<dd><p>The sandbox environment accepts transactions between USD 20.00 and USD 300.00.<\/p><\/dd>\n<dt id=\"how%20do%20i%20configure%20the%20webhook%3F\"><h3>How do I configure the webhook?<\/h3><\/dt>\n<dd><p>After activating the plugin, go to WooCommerce &gt; Settings &gt; Payments &gt; TAFI. You will find your webhook URL in this format:\n    https:\/\/your-store.com\/wc-api\/tafi_webhook\/\nCopy it and register it in your TAFI panel.<\/p><\/dd>\n<dt id=\"where%20can%20i%20see%20transaction%20logs%3F\"><h3>Where can I see transaction logs?<\/h3><\/dt>\n<dd><p>Enable \"Debug log\" in the plugin settings. Logs are available under WooCommerce &gt; Status &gt; Logs &gt; tafi-pagalo-relax.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20hpos%20compatible%3F\"><h3>Is the plugin HPOS compatible?<\/h3><\/dt>\n<dd><p>Yes. The plugin is fully compatible with High-Performance Order Storage (Custom Order Tables).<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Added a \"Cancelar y elegir otro m\u00e9todo 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 \u2014 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.<\/li>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>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.<\/li>\n<li>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 <code>tafi_register_whatsapp_url<\/code>.<\/li>\n<li>Admin styles and the order-screen script no longer load while editing unrelated post types.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>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.<\/li>\n<li>Tested with WordPress 7.1<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Thank-you confirmation block now renders above the order summary so the customer sees the WhatsApp flow first<\/li>\n<li>New modal pop-up that announces the final state (approved, rejected, expired) on top of the page<\/li>\n<li>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<\/li>\n<li>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<\/li>\n<li>Manual status-check action is now available on any TAFI order, not only those still pending<\/li>\n<li>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.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>Full integration with the TAFI API<\/li>\n<li>Webhook confirmation support<\/li>\n<li>HPOS compatibility<\/li>\n<li>Settings panel<\/li>\n<li>Debug logging<\/li>\n<\/ul>","raw_excerpt":"Accept TAFI Buy Now, Pay Later payments in your WooCommerce store. No card needed. Confirmed via WhatsApp.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/319288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=319288"}],"author":[{"embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/tafitechsys"}],"wp:attachment":[{"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=319288"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=319288"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=319288"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=319288"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=319288"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/so.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=319288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}