{"id":351474,"date":"2026-09-21T12:51:48","date_gmt":"2026-09-21T12:51:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fintoc-for-woocommerce\/"},"modified":"2026-10-14T19:40:47","modified_gmt":"2026-10-14T19:40:47","slug":"fintoc-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/sr.wordpress.org\/plugins\/fintoc-for-woocommerce\/","author":23546043,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.5","stable_tag":"1.2.5","tested":"7.1.3","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"Fintoc for WooCommerce","header_author":"Fintoc","header_description":"Accept bank transfer payments in Chile (CLP) and Mexico (MXN) through Fintoc. Customers pay on Fintoc's hosted checkout and orders are confirmed via webhooks verified against the Fintoc API.","assets_banners_color":"","last_updated":"2026-10-14 19:40:47","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/woocommerce.fintoc.com\/","header_author_uri":"https:\/\/fintoc.com\/","rating":0,"author_block_rating":0,"active_installs":20,"downloads":167,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.4":{"tag":"1.2.4","author":"ncruzm","date":"2026-09-21 12:51:18","revision":3705614},"1.2.5":{"tag":"1.2.5","author":"fintoc","date":"2026-10-14 19:40:47","revision":3747045}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3747045,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3747045,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.4","1.2.5"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[127760,19289,126659,1887,286],"plugin_category":[45],"plugin_contributors":[281842],"plugin_business_model":[],"class_list":["post-351474","plugin","type-plugin","status-publish","hentry","plugin_tags-bank-transfer","plugin_tags-chile","plugin_tags-mexico","plugin_tags-payments","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-ncruzm","plugin_committers-fintoc","plugin_committers-ncruzm"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/fintoc-for-woocommerce\/assets\/icon-128x128.png?rev=3747045","icon_2x":"https:\/\/ps.w.org\/fintoc-for-woocommerce\/assets\/icon-256x256.png?rev=3747045","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Fintoc for WooCommerce lets your store accept account-to-account bank transfers, card payments and, in Mexico, cash payments at stores through <a href=\"https:\/\/fintoc.com\/\">Fintoc<\/a>.<\/p>\n\n<p>When a customer places an order, the plugin creates a Fintoc Checkout Session and redirects the customer to Fintoc's secure hosted checkout, where they pick their payment method and authorize the payment. The order is then confirmed in the background through webhook events; each event triggers a lookup against the Fintoc API, which is the source of truth for payment status.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Hosted, redirect-based checkout \u2014 no card data ever touches your server.<\/li>\n<li>Works with both the classic checkout shortcode and the new Blocks (Store API) checkout.<\/li>\n<li>HPOS (High-Performance Order Storage) compatible.<\/li>\n<li>API-verified webhooks \u2014 no webhook secret to configure \u2014 with replay protection and idempotent processing.<\/li>\n<li>Refunds initiated directly from the WooCommerce order screen.<\/li>\n<li>Separate test and live API keys, with an explicit test-mode toggle.<\/li>\n<li>Supports Chilean Pesos (CLP) and Mexican Pesos (MXN).<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin relies on the Fintoc API to process payments. It is the only external\nservice the plugin communicates with, and it is the service this plugin exists to\nintegrate with.<\/p>\n\n<p><strong>What it is used for and what data is sent<\/strong><\/p>\n\n<ul>\n<li>When a customer places an order and selects Fintoc, the plugin sends the order\ntotal, the currency, the order number, the order key, and the return URLs of your\nstore to <code>https:\/\/api.fintoc.com<\/code> in order to create a checkout session. The\ncustomer is then redirected to Fintoc's hosted checkout to authorize the payment.<\/li>\n<li>When Fintoc notifies your store of an event, the plugin sends the identifier\nreceived in the notification back to <code>https:\/\/api.fintoc.com<\/code> to read the\nauthoritative payment status. No customer data is sent in this request.<\/li>\n<li>When you issue a refund from the WooCommerce order screen, the plugin sends the\npayment identifier, the refund amount, and the reason you entered.<\/li>\n<\/ul>\n\n<p>Every request is authenticated with the secret API key you configure in the plugin\nsettings, and is made only in response to one of the actions above. The plugin sends\nno telemetry, no analytics, and no data to any other destination.<\/p>\n\n<p>Service provided by Fintoc: <a href=\"https:\/\/fintoc.com\/\">site<\/a> \u2014\n<a href=\"https:\/\/fintoc.com\/cl\/legal\/terminos\">terms of service<\/a> \u2014\n<a href=\"https:\/\/fintoc.com\/cl\/legal\/politica-de-privacidad\">privacy policy<\/a><\/p>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong>, search for <strong>Fintoc for WooCommerce<\/strong> and click <strong>Install Now<\/strong>. You can also upload the ZIP from <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>WooCommerce &gt; Settings &gt; Payments &gt; Fintoc<\/strong>.<\/li>\n<li>Enable the gateway, choose test or live mode, and paste your secret key from the <a href=\"https:\/\/app.fintoc.com\/\">Fintoc dashboard<\/a>.<\/li>\n<li>Copy the <strong>Webhook endpoint<\/strong> URL shown on the settings page, register it in your Fintoc dashboard, and subscribe to the <code>payment_intent.*<\/code>, <code>checkout_session.*<\/code> and <code>refund.*<\/code> events.<\/li>\n<li>Place a test order to confirm the full round-trip.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"which%20currencies%20are%20supported%3F\"><h3>Which currencies are supported?<\/h3><\/dt>\n<dd><p>Chilean Pesos (CLP) and Mexican Pesos (MXN). The gateway hides itself automatically when the store currency is anything else.<\/p><\/dd>\n<dt id=\"do%20i%20need%20to%20expose%20a%20webhook%3F\"><h3>Do I need to expose a webhook?<\/h3><\/dt>\n<dd><p>Yes. Webhooks are how Fintoc confirms payments. The plugin shows the exact endpoint URL to register on the settings screen. No webhook secret is needed: the plugin verifies every event by fetching the payment state directly from the Fintoc API before updating an order.<\/p><\/dd>\n<dt id=\"what%20does%20the%20checkout%20show%3F\"><h3>What does the checkout show?<\/h3><\/dt>\n<dd><p>Leave the <strong>Title<\/strong> and <strong>Description<\/strong> settings empty: the title then names the payment methods enabled for your Fintoc organization (for example \"Pay with SPEI, card or cash\") and shows one logo per method. A title or description you write is always shown as is.<\/p><\/dd>\n<dt id=\"how%20do%20cash%20payments%20work%3F\"><h3>How do cash payments work?<\/h3><\/dt>\n<dd><p>In Mexico, the customer can pay in cash at a store with a voucher. The order stays on hold, with its stock reserved, until the customer pays or the checkout session expires (24 hours by default). The order received page shows a link to the voucher.<\/p><\/dd>\n<dt id=\"is%20the%20blocks%20checkout%20supported%3F\"><h3>Is the Blocks checkout supported?<\/h3><\/dt>\n<dd><p>Yes. Both the classic shortcode checkout and the Blocks\/Store API checkout are supported.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>The checkout title names the payment methods enabled for your Fintoc organization, for example \"Pay with SPEI, card or cash\", when the Title setting is empty. A title you write is kept.<\/li>\n<li>The checkout shows one logo per payment method: bank transfer (Chilean banks or SPEI), cards, and cash stores in Mexico.<\/li>\n<li>The default description no longer names payment methods, so it never contradicts the title.<\/li>\n<li>Orders record \"Fintoc\" as the payment method, and the admin shows \"Fintoc\" as the gateway name.<\/li>\n<li>After generating a cash voucher, the customer sees a notice with a link to the voucher on the order received page, including when returning through the back to store link.<\/li>\n<li>A paid order is no longer marked as failed or on hold by a late event from an earlier payment attempt, even when the store moved it to a custom status.<\/li>\n<li>Two simultaneous events for the same payment no longer move the order's stock twice.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Orders are no longer cancelled while Fintoc is still validating the payment: a bank transfer that takes longer than the hold-stock window (60 minutes by default) now waits in On hold, with its stock reserved, instead of being cancelled after the money was already collected.<\/li>\n<li>Stock reserved by a validating payment is restored when the payment fails.<\/li>\n<li>A validating payment is polled against the Fintoc API as a fallback, so an order whose confirmation webhook was never delivered still resolves on its own.<\/li>\n<li>An expiring checkout session no longer cancels an order that has another payment still being validated.<\/li>\n<li>A second payment succeeding for an order that was already paid now leaves an order note and emails the store admin, so the duplicate can be refunded.<\/li>\n<li>Customers receive WooCommerce's standard order on-hold email when their payment enters validation. It can be turned off under WooCommerce &gt; Settings &gt; Emails.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Fixed checkout failing with \"Unrecognized request: POST \/v2\/checkout_sessions\" on Fintoc organizations pinned to an API version older than 2026-02-01: requests now send the Fintoc-Version header.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>A payment made in an earlier Fintoc checkout session is no longer lost when the customer goes back to the checkout and a second session is created.<\/li>\n<li>An expiring checkout session no longer cancels an order whose payment is still being confirmed by Fintoc.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Two Fintoc webhooks arriving at once for the same order can no longer confirm it twice, which duplicated the stock reduction, the order notes and the customer emails.<\/li>\n<li>A payment that WooCommerce fails to complete is now retried instead of being acknowledged, so the order no longer stays unpaid after the money was captured.<\/li>\n<li>The order-received page no longer says the payment is still being confirmed when the webhook already confirmed it.<\/li>\n<li>The gateway icon now matches the payment methods enabled for the organization, at a readable size, on both the classic and the Blocks checkout.<\/li>\n<li>Checkout sessions no longer send the customer object.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>SmartCheckout: sessions no longer pin bank_transfer \u2014 the Fintoc-hosted checkout offers every payment method enabled for the organization (bank transfer, cards).<\/li>\n<li>Test mode now defaults to off.<\/li>\n<li>Refund hardening: settings now instruct subscribing to refund.* events; reverting a failed refund reverses restocked inventory and restores the order's real pre-refund status; the customer is notified when a refund is reverted; Dashboard-created refunds are reconciled into WooCommerce; canceled refunds revert like failed ones; refund webhooks validate that the refund belongs to the order; permanent API errors no longer cause endless webhook retries; cross-mode refunds and over-precise partial amounts fail early with clear messages.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Webhooks are now verified against the Fintoc API instead of an HMAC signature: the payload only locates the order and every state change comes from an authenticated API lookup. The webhook endpoint secret settings were removed \u2014 no secret to configure.<\/li>\n<li>Checkout sessions are created with <code>payment_method_types: bank_transfer<\/code>, skipping Fintoc's method selector so the checkout matches what the gateway promises.<\/li>\n<li>Embedded payments are now read from the documented <code>payment_resource.payment_intent<\/code> shape of the checkout session, fixing immediate confirmation on return and the <code>checkout_session.finished<\/code> safety net.<\/li>\n<li>Refund outcomes are reconciled asynchronously: <code>refund.succeeded<\/code> confirms the refund, and <code>refund.failed<\/code> reverts the WooCommerce refund, restores the order status and emails the store admin.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release: hosted checkout, webhooks, refunds, Blocks support, HPOS compatibility.<\/li>\n<\/ul>","raw_excerpt":"Accept bank transfers and cards in Chile (CLP), and bank transfers, cards and cash in Mexico (MXN), through Fintoc's hosted checkout.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/351474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=351474"}],"author":[{"embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ncruzm"}],"wp:attachment":[{"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=351474"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=351474"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=351474"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=351474"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=351474"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=351474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}