Skip to main content
Set up Fintoc in your WooCommerce store to accept account-to-account bank transfer and card payments in Chilean pesos (CLP) and Mexican pesos (MXN) through Fintoc’s hosted Checkout Session. When your customer places an order, Fintoc redirects the customer to authorize the payment. After the customer returns to your store, the plugin confirms the order in the background with webhooks. The plugin verifies every event against the Fintoc API, which is the source of truth for the payment status.

Prerequisites

Before you start, you need:
  • A Fintoc account with an API secret key. To get one, contact your sales representative or write to sales@fintoc.com. Fintoc then activates your account and gives you access to the Fintoc dashboard.
  • Admin access to your WordPress site.
  • WordPress 6.2+, WooCommerce 7.4+, and PHP 7.4+.

Get your API credentials

Your Fintoc dashboard shows both test and live secret keys. To get them, go to For Developers → API Keys. Use the button on the top left of the dashboard to switch between test and live modes. Use your live secret key (sk_live_...) to set up Fintoc in production.

Install the plugin

Download the latest plugin package from the Fintoc for WooCommerce page, then install it:
  1. Upload the fintoc-for-woocommerce folder to /wp-content/plugins/, or install the ZIP from Plugins → Add New → Upload Plugin.
  2. Activate the plugin through the Plugins menu in WordPress.
The plugin is compatible with High-Performance Order Storage (HPOS) and works with both the classic checkout shortcode and the Blocks (Store API) checkout.

Configure the plugin

  1. Go to WooCommerce → Settings → Payments → Fintoc.
  2. In the settings screen, configure:
    • Enable Fintoc: the toggle that turns the gateway on.
    • Title: the payment method name shown to customers at checkout, for example, Fintoc.
    • Description: the text shown under the payment method at checkout.
    • Test mode: the toggle that uses your test secret key; leave it off to take live payments.
    • Live secret key: your sk_live_... key from the dashboard.
    • Test secret key: your sk_test_... key, needed only while test mode is enabled.
    • Debug log: the toggle that logs API requests and webhook events under WooCommerce → Status → Logs (source fintoc).
  3. Save changes.
The gateway hides itself automatically when the store currency is anything other than CLP or MXN. The Payment methods panel on the settings screen shows which methods your Fintoc organization has enabled: bank transfers, cards, or both. Fintoc manages method enablement per organization. You cannot enable payment methods yourself.

Webhook setup

The plugin uses webhooks to confirm payments, so this step is required.
  1. On the Fintoc settings screen in WooCommerce, copy the Webhook endpoint URL shown there.
  2. In your Fintoc dashboard, create a new webhook endpoint with that URL and method POST.
  3. Subscribe the endpoint to the payment_intent.*, checkout_session.*, and refund.* events. The plugin uses these events to confirm payments and reconcile refunds.
You do not need a webhook secret. Before updating an order, the plugin fetches the payment state directly from the Fintoc API. The plugin uses the webhook payload only to locate the order.

Order statuses

A bank transfer is not always confirmed in seconds. Depending on the bank, the transfer can take minutes, hours, or days. The plugin reflects that wait in the order status. Expect to see On hold whenever your customer returns to your store before Fintoc confirms the payment:

Orders on hold

While an order sits in On hold, the plugin protects it:
  • WooCommerce does not cancel orders in On hold. WooCommerce cancels orders in Pending payment once they have been unpaid for longer than the Hold stock (minutes) setting, 60 minutes by default. Find that setting under WooCommerce → Settings → Products → Inventory.
  • The order reserves its stock, so the products do not sell out to someone else while Fintoc validates the payment.
  • The customer cannot start a second payment for the same order, so they cannot pay twice.
Do not cancel these orders by hand. The plugin resolves each one once Fintoc confirms the outcome: Processing when the payment succeeds, Failed when it does not. On failure, the plugin restores the stock the order had reserved. Webhooks are the primary signal. As a fallback, the plugin also fetches the payment from the Fintoc API on a schedule. The first retry runs 15 minutes after the order goes on hold. Later retries back off to once a day. The plugin stops after 10 retries, about four days after the order goes on hold. If the payment is still unresolved, the plugin leaves a note on the order and waits for the webhook. Fintoc expires a payment that never confirms, so the order does not sit in On hold forever.
Your customer receives WooCommerce’s standard Order on-hold email when Fintoc starts validating the payment. To disable the email, go to WooCommerce → Settings → Emails → Order on-hold.

Duplicate payments

If a second payment succeeds for an order that is already paid, the plugin leaves a note on the order, logs an error, and emails the store admin. The money moved twice, so refund the duplicate payment from the Fintoc dashboard.

Manage refunds

You can issue full and partial refunds directly from the WooCommerce order screen. Open the order, select Refund, enter the amount, and submit. The plugin sends the request to the Fintoc Refunds API and reconciles the outcome through the refund.* webhook events. Refund confirmation times vary by country. For bank transfers, Fintoc may retry for up to 7 days when there is insufficient balance, so a refund can stay pending until Fintoc confirms the refund.
You can issue refunds directly from WooCommerce, but you cannot cancel those refunds there. To cancel a refund issued from WooCommerce, use the Cancel Refunds endpoint or contact support. WooCommerce does not show the cancellation.

Test the integration

  1. Enable Test mode on the settings screen and paste your test secret key (sk_test_...).
  2. Place a test order with each enabled payment method and complete the authorization in Fintoc’s sandbox. After a successful payment, the plugin moves the order to Processing and records the matching payment_intent.* and checkout_session.* webhook events. For test credentials and sandbox details, see Test your integration.
  3. Enable Debug log and review WooCommerce → Status → Logs (source fintoc) to inspect API requests and webhook events.

Go live

  1. After testing each enabled payment method, disable Test mode so the gateway uses your live secret key.
  2. Place one order in live mode with each enabled payment method to confirm the full end-to-end flow.
Your WooCommerce store now accepts payments through Fintoc.

Troubleshooting

Common issues and their fixes:

Frequently asked questions

Q: Which currencies are supported? A: CLP and MXN. The gateway hides itself automatically when the store currency is anything else. Q: Do I need a webhook secret? A: No. The plugin verifies every event by fetching the payment state directly from the Fintoc API before updating an order. You do not configure a webhook secret in the plugin or in the dashboard. Q: Is the Blocks checkout supported? A: Yes. The plugin supports both the classic shortcode checkout and the Blocks (Store API) checkout. Q: Why is an order in On hold? A: Fintoc is validating the payment. Bank transfers can take hours or days to confirm. The plugin moves the order to Processing or Failed once Fintoc confirms the outcome. Do not cancel the order by hand. The order reserves its stock, and the customer cannot pay again while the order waits. Q: Why does a customer receive an order on-hold email? A: WooCommerce sends that email whenever an order moves to On hold, which now happens while Fintoc validates the payment. To turn it off, go to WooCommerce → Settings → Emails → Order on-hold.