Skip to main content

Infini WooCommerce Payment Gateway's Setup and User Guide

Written by Emy Huang

Ⅰ、Overview and Requirements

Infini Payment Gateway is a payment plugin for WooCommerce. After a customer places an order, they are redirected to Infini's hosted checkout, where they can pay using any method enabled on the merchant account: Crypto, Card, Binance Pay, Apple Pay, or Google Pay. The store never handles sensitive card or crypto payment data directly.

Important: The Webhook Secret is a separate key from the API Secret Key. Do not use one in place of the other.

Ⅱ、Installing the Plugin

1、Log in to the WordPress admin and go to Plugins > Add New.

2、Click Choose File and select infini-payment-gateway-1.4.0.zip. For now, the installation package is provided through the integration group or your business contact (it will later be available for download in the merchant dashboard).

3、Click Install Now, then Activate once installation completes.

4、Go to WooCommerce > Settings > Infini and click Manage.

Ⅲ、Getting Your Infini Credentials

Production

  1. Open the Developer page and create an API Key.

  2. Save the Key ID and Secret Key. The Secret Key is usually shown only once.

  3. Obtain the separate Webhook Secret.

Sandbox

  1. On the Developer page, obtain the Sandbox Key ID, Sandbox Secret Key, and Sandbox Webhook Secret.

Ⅳ、Configuring the Plugin

Go to WooCommerce > Settings > Payments > Infini, enter the credentials for your current environment, and save.

Key settings

Post-payment order status

  • Automatic (recommended): Physical goods move to Processing; virtual/downloadable goods move to Completed.

  • Always Completed: Best for purely digital products.

  • Always Processing: Best for merchants who fulfill every order manually.

Ⅴ、Configuring the Webhook

1、Copy the Webhook URL shown on the plugin settings page: https://your-site.com/wc-api/infini_webhook/

Important — update the Webhook URL before switching to production: The Infini merchant dashboard allows only one Webhook URL, shared between the test and production environments.

When you switch from Sandbox to Production, you must manually replace the Webhook URL with the production address. Otherwise Infini's payment notifications won't reach your store and order statuses won't update automatically.

2、On the Developer page in the Infini merchant dashboard, add a webhook. Subscribe to order.create and order.update.

Note: Sandbox and Production are separate environments. Configure credentials and webhooks for each one independently.

3、Save, return to the plugin settings page, and run the Configuration Check.

Click Check Configuration. It verifies the current mode, post-payment status, credentials, API authentication, store currency, HTTPS, Webhook Secret, and Webhook URL reachability.

Pass: OK

Warning: Usually still needs manual confirmation

Fail: Fix before accepting payments

Ⅵ、Testing and Going Live

Sandbox Testing

1、Turn on Sandbox Mode and enter the required Sandbox credentials.

2、Configure the webhook in the Sandbox dashboard.

3、Place a test order, select Pay with Infini, and verify the redirect, payment, order status, and order notes.

4、Turn off Sandbox Mode when testing is complete.

Going Live

  1. Turn off Sandbox Mode and enter the production Key ID, Secret Key, and Webhook Secret.

  2. Configure the webhook in the production dashboard.

  3. Confirm the Configuration Check shows no Fail.

  4. Turn off the Debug Log.

  5. Run a small real order to validate the full flow end to end.

Order Status and Payment Exceptions

Infini Webhook Event

Infini Order Status

WooCommerce Result

order.create

pending

Pending payment; adds a "payment initiated" note

order.update

processing

On-hold; records confirmed and confirming amounts

order.update

paid

Per the "post-payment order status" setting — Processing or Completed

order.update

expired

Cancelled (no payment received)

order.update

partial_paid

On-hold; funds retained, note added, manual handling required (refund or top-up)

order.late_payment

paid / partial_paid

If paid in full, marked as paid per the status setting; if still short, stays On-hold or Cancelled, note added, manual handling required

The plugin records the actual amount received and any shortfall in the order notes, which helps with reconciliation, refunds, and tax accounting.

For orders marked partial_paid (expired with partial payment) or expired (expired with no payment), the merchant can log in to the Infini merchant dashboard and manually change the order status to paid. Once changed, Infini can push an order.update event via webhook, and the WooCommerce order status will sync automatically.

Partial Payments and Tolerance

  • Partial payment within the order's validity period: The order moves to On-hold, and the customer can use the same payment link to pay the remaining balance.

  • Partial-payment tolerance configured in the merchant dashboard: Once Infini treats the order as settled, the plugin trusts order.completed, marks it paid, and records the actual amount received and any difference.

  • Order received partial payment and then expired: The order stays On-hold and requires manual handling (refund or top-up). Do not ask the customer to pay the original order in full again.

  • Tolerance is set only in the Infini merchant dashboard; the plugin has no separate setting for it.

Duplicate Payment Protection

The plugin reuses any in-progress payment link, applies a fixed idempotent request_id, and uses a database lock to prevent multiple concurrent payment requests for the same order. Orders already paid cannot start a new payment.

Logs and Troubleshooting

Temporarily enable the Debug Log in the plugin settings, then go to WooCommerce > Status > Logs and select the infini-payment-gateway log.

1、Infini doesn't appear at checkout

  • Confirm the plugin is activated

  • Confirm the current environment's credentials are filled in

  • Confirm the store currency is supported

  • Confirm both WooCommerce and the plugin are active

2、Status doesn't update after payment

  • Check that the Webhook Secret is correct and is not the Secret Key

  • Check that the Webhook URL uses HTTPS

  • Check that order.create and order.update are subscribed

  • Check that the Sandbox/Production mode matches the credentials

  • Review the Configuration Check and the logs

3、Invalid signature

  • Re-copy the Webhook Secret for the current environment

  • Confirm the API Secret Key was not entered as the Webhook Secret

  • Confirm the webhook in the Infini dashboard belongs to the same environment as the plugin's current mode

Refunds

v1.4.0 does not yet support automatic refunds from WooCommerce. Process refunds manually in the Infini merchant dashboard, then add a refund record or internal note to the WooCommerce order. Before refunding an underpaid (within tolerance) or overpaid order, check the actual amount received in the order notes.

FAQ

Q: Which payment methods and currencies does the plugin support?

A: The plugin supports cards, Binance Pay, Apple Pay, and Google Pay. The methods and currencies actually available depend on your Infini account configuration.

Q: How do I handle refunds?

A: The plugin does not yet support initiating refunds from the WooCommerce admin. To issue a refund, log in to the Infini merchant dashboard and do it manually. Automatic refunds will come in a later plugin version.

Q: Is the payment process secure?

A: Yes. All API communication is encrypted over HTTPS. Webhook data is verified with an HMAC-SHA256 signature using a separate Webhook Secret, which prevents replay attacks and tampering and keeps transactions secure.

Q: Why doesn't the Infini payment option show at checkout?

A: Check your WooCommerce store's default currency. The payment option appears only when the store currency is a fiat currency Infini supports (such as USD or EUR). You can also use the Check Configuration button on the plugin settings page to diagnose configuration issues.

Q: What if a webhook is missed?

A: When the customer returns to the Thank You page, the plugin proactively queries the Infini order status to reconcile and compensate for the missed event.

Q: Can I switch between Sandbox and Production while orders are unfinished?

A: Not recommended. Switching modes also changes the API endpoint, Webhook Secret, and reconciliation environment. Handle or wait out any in-progress orders first.

Disclaimer: Infini provides technology and payment infrastructure services. Financial and payment services are delivered by licensed partner institutions and are subject to applicable laws and regulations. Service availability and scope may vary by region. This content is for reference only and does not constitute any commitment or investment advice. The service is not available in Mainland China, the United States, or other restricted jurisdictions.

Did this answer your question?