Installing the Arca payment plugin for WooCommerce
This guide shows you how to install and configure the Arca payments plugin for WooCommerce so your store can accept credit-card payments (and subscriptions), plus how to fix the setup and checkout problems merchants hit most often.
Before you start: requirements
- WordPress 6.4 or newer
- WooCommerce 8.0 or newer (the plugin requires WooCommerce)
- PHP 7.4 or newer
- Your store currency set to US Dollars (USD)
- HTTPS enabled on your site (required for secure card entry)
- The WooCommerce Subscriptions extension, only if you plan to sell subscriptions
What you'll need from Arca and your processor
- Your Tenant, API email, and API password (provided by Arca when your account is set up — the API email may differ from your dashboard login).
- Your Collect.js Tokenization Key, found in your NMI merchant portal under Security Keys → Tokenization Keys.
Step 1 — Install the plugin
- In WordPress, go to Plugins → Add New and upload the Arca payments plugin (or copy its folder into
/wp-content/plugins/). - Click Activate.
Step 2 — Configure the gateway
- Go to WooCommerce → Settings → Payments.
- Open the Arca — Credit Card method.
- Enter your credentials and settings:
| Setting | What to enter |
|---|---|
| Enable / Disable | Turn the gateway on. |
| Sandbox Mode | On for testing, off for live payments. Sandbox and live use different credentials. |
| Title / Customer Message | What shoppers see at checkout (optional). |
| Tenant | Your Arca tenant (from Arca). |
| Email / Password | Your Arca API login. |
| Collect.js Tokenization Key | From your NMI portal (Security Keys → Tokenization Keys). |
| Installments | Maximum number of installments to offer (1–12). |
| Debug logging | Turn on if you need to troubleshoot; logs are saved under the inspire-cc source. |
- Click Save changes. Saving also registers the webhook Arca uses to keep subscription orders in sync.
Selling subscriptions (optional)
If you sell subscription products, each subscription product must be linked to its matching Arca product. On the product editor's General tab, set the Arca product ID and Arca price ID (use a recurring price). Arca then manages the recurring billing; the initial WooCommerce order is placed for $0 so the customer isn't charged twice, and renewals are confirmed back to your store automatically.
Common problems
Arca doesn't appear as a payment option at checkout
-
Cause
- Set your store currency to USD (WooCommerce → Settings → General).
- Fill in all four credentials (Tenant, Email, Password, Collect.js key).
- Tick Enable and save.
- If it's still hidden, turn on Debug logging — the log names the exact condition that's failing.
The gateway hides itself unless every condition is met: it's enabled, all four credentials are filled in, and the store currency is USD.
SolutionThe card fields don't appear, or "The payment form is loading"
-
Cause
- Confirm the Collect.js Tokenization Key is filled in and correct (from the NMI portal).
- Make sure your site uses HTTPS.
- Temporarily disable other checkout/payment plugins to rule out a conflict, then hard-refresh the checkout page.
The secure card form couldn't load — usually a missing or incorrect tokenization key, a site not served over HTTPS, or a conflict with another plugin.
Solution"Payment authentication failed. Please try again."
-
Cause
The Tenant, Email, or Password is wrong, or the credentials don't match the selected environment (Sandbox vs. live).
SolutionRe-check all three credentials, and make sure the Sandbox Mode toggle matches the credentials you entered (sandbox keys with sandbox on, live keys with it off).
"Payment declined: …"
-
Cause
The customer's bank declined the charge (insufficient funds, fraud hold, or an invalid card).
SolutionAsk the customer to try a different card or contact their bank. The full decline reason is recorded in the order notes and the inspire-cc debug log.
"Could not create customer record" / "Payment failed" on non-US orders
-
Cause
The plugin is built for US, USD orders. Unusual billing countries/states, non-standard site locales or timezones, or a non-USD currency can prevent the order from being matched correctly.
SolutionConfirm the store currency is USD and the billing country/state are standard, supported values. Contact Arca support if a specific region needs to be enabled.
Subscription renewals are stuck "awaiting payment confirmation"
-
Cause
Arca couldn't reach your site's webhook — often because the site isn't publicly reachable over HTTPS, or the webhook was registered against an old site address.
SolutionMake sure your store is publicly accessible over HTTPS. To force the webhook to re-register, clear the stored webhook ID and save the gateway settings again. A background sync also reconciles paid invoices every few hours as a backstop.
"…missing product/price mapping. Manual action required."
-
Cause
A subscription product is missing its Arca product ID or price ID.
SolutionOpen the product editor's General tab and set both the Arca product ID and a recurring Arca price ID.
Error message reference
| What you see | What it means | What to do |
|---|---|---|
| Error: Please fill required field: … | A required credential is blank | Fill in the named field and save |
| Payment authentication failed. Please try again. | Wrong API credentials or wrong environment | Re-check Tenant/Email/Password and the Sandbox toggle |
| Card tokenization failed. Please check your card details and try again. | The card couldn't be securely captured | Re-enter card details; confirm the tokenization key and HTTPS |
| The payment form is loading. Please wait a moment and try again. | Secure card form hadn't finished loading | Wait and retry; check the tokenization key and HTTPS |
| Payment declined: … | The bank declined the charge | Use a different card / contact the bank |
| Could not create customer record. Please try again. | Order details couldn't be matched (often non-US) | Confirm USD + supported billing country/state |
Still having trouble?
Contact Arca support and include:
- Your WordPress, WooCommerce, and PHP versions
- Whether you're in Sandbox or live mode
- The exact error message and, if possible, the
inspire-ccdebug log around the time of the issue