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 bothtest 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:- Upload the
fintoc-for-woocommercefolder to/wp-content/plugins/, or install the ZIP from Plugins → Add New → Upload Plugin. - Activate the plugin through the Plugins menu in WordPress.
Configure the plugin
- Go to WooCommerce → Settings → Payments → Fintoc.
- 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).
- Save changes.
Webhook setup
The plugin uses webhooks to confirm payments, so this step is required.- On the Fintoc settings screen in WooCommerce, copy the Webhook endpoint URL shown there.
- In your Fintoc dashboard, create a new webhook endpoint with that URL and method
POST. - Subscribe the endpoint to the
payment_intent.*,checkout_session.*, andrefund.*events. The plugin uses these events to confirm payments and reconcile refunds.
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.
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 therefund.* 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.
Test the integration
- Enable Test mode on the settings screen and paste your test secret key (
sk_test_...). - 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.*andcheckout_session.*webhook events. For test credentials and sandbox details, see Test your integration. - Enable Debug log and review WooCommerce → Status → Logs (source
fintoc) to inspect API requests and webhook events.
Go live
- After testing each enabled payment method, disable Test mode so the gateway uses your
livesecret key. - Place one order in
livemode with each enabled payment method to confirm the full end-to-end flow.