WooCommerce

Hilt Pay for WooCommerce lets a store sell digital products, memberships, gated downloads, courses, and paid community access through hosted Hilt checkout. The plugin is free. Standard Hilt pricing applies to payments processed through Hilt. There is no WooCommerce surcharge. Install the approved plugin from WordPress.org:

What buyers see

At checkout, buyers choose Hilt Pay and are redirected to hosted Hilt checkout to pay with USDC on Solana. After payment confirmation, Hilt returns the buyer to the WooCommerce order confirmation page. WooCommerce keeps the order state and order notes. Hilt keeps the payment, receipt, membership, renewal, and support trail.

What merchants configure

You need:
  • a Hilt workspace
  • a Hilt API key with read and execute scopes
  • a Hilt webhook endpoint pointed at your WooCommerce receiver URL
  • the webhook signing secret copied into WooCommerce
  • a Hilt checkout selected on each WooCommerce product or variation that should use Hilt
Do not give the WooCommerce plugin admin or billing scopes.

Install the plugin

  1. In WordPress, open Plugins → Add New.
  2. Search for Hilt Pay for WooCommerce, or open the WordPress.org listing.
  3. Install and activate Hilt Pay for WooCommerce.
  4. Open WooCommerce → Settings → Payments → Hilt Pay.
  5. Enable Hilt Pay.
If WordPress.org install is not available in your environment, use the direct ZIP fallback from hilt.so/woocommerce. The plugin is designed for non-shipping digital products and access products. Keep your existing WooCommerce payment methods for other cart types.

Connect Hilt

In the Hilt app:
  1. Open Advanced → API keys.
  2. Create a key with read and execute scopes.
  3. Copy the key once and store it in WooCommerce.
In WooCommerce:
  1. Set Hilt API base to https://api.hilt.so.
  2. Paste the Hilt API key.
  3. Save changes.
  4. Run Connection health.
The health check calls GET /v1/products?limit=1. A successful check confirms that WooCommerce can reach Hilt and that the key can read Hilt checkouts for product mapping.

Configure the webhook

WooCommerce shows a receiver URL in the Hilt Pay settings. It looks like:
https://your-store.example/?wc-api=hilt_pay
In Hilt:
  1. Open Advanced → Webhooks.
  2. Create a webhook endpoint using the WooCommerce receiver URL.
  3. Include the events used for payment confirmation and access updates.
  4. Copy the one-time signing secret.
In WooCommerce:
  1. Paste the webhook signing secret into Hilt Pay settings.
  2. Save changes.
WooCommerce verifies X-Hilt-Signature and X-Hilt-Timestamp before updating an order.

Choose the Hilt checkout per product

Open a WooCommerce product and go to Product data → General. Use Hilt checkout to choose the Hilt template that should fulfil that product. For variations, open the variation row and choose the Hilt checkout there if it should override the parent product. Use separate Hilt checkouts when the fulfilment promise is different:
  • a paid Discord membership
  • a gated download
  • a course access product
  • a private research room
Keep a single WooCommerce order mapped to one Hilt checkout. If cart items point to different Hilt checkouts, split the cart or align those products to the same Hilt checkout.

Order handoff and webhook mapping example

A typical WooCommerce handoff keeps WooCommerce focused on the order and Hilt focused on payment and access state. When the buyer chooses Hilt Pay, store Hilt context on the WooCommerce order:
{
  "payment_method": "hilt_pay",
  "hilt_product_id": "hilt_product_123",
  "hilt_checkout_url": "https://www.hilt.so/p/example-slug",
  "hilt_payment_id": "payment_id_from_hilt_when_known",
  "hilt_receipt_id": "receipt_id_from_webhook_when_known",
  "hilt_membership_id": "membership_id_from_webhook_when_known"
}
Webhook handling should be idempotent. Use the Hilt event id to avoid applying the same order update twice.
Hilt eventWooCommerce update
payment.confirmedadd an order note with the Hilt payment id and move the order to paid or processing according to your store workflow
receipt.createdattach the Hilt receipt id or proof URL to the order notes
membership.activatedmark the mapped digital access as fulfilled
membership.renewedextend the mapped access period when the WooCommerce product represents recurring access
membership.expiredremove or pause access in the connected product area
subscription.cancelledadd the cancellation note and keep access until the paid-through date when Hilt entitlement remains active
delivery.failedleave the order paid, open a recovery path, and use Hilt support context for follow-up
Do not mark an order paid from a browser return alone. Wait for a signed Hilt webhook or a server-side Hilt payment read that shows confirmed state.

Validate the flow

Before real buyer traffic:
  1. Add the mapped WooCommerce product to cart.
  2. Choose Hilt Pay.
  3. Confirm the browser moves into hosted Hilt checkout.
  4. Confirm the buyer return URL points back to the WooCommerce order confirmation page.
  5. Send a signed webhook test event to your WooCommerce receiver when available.
  6. Use an optional low-value live settlement check only when you want to verify the real wallet, payout, order note, receipt, and webhook path before wider traffic.

Troubleshooting

If the health check says the key is invalid, create a new key with read and execute scopes. If no Hilt checkouts appear in the product selector, confirm the API key is saved and that the Hilt workspace has at least one non-archived checkout. If a buyer cannot choose Hilt Pay at checkout, confirm every cart item is non-shipping and mapped to a Hilt checkout. If an order does not update after payment, re-check the webhook URL and signing secret.

Common questions

Is Hilt Pay for WooCommerce a crypto payment gateway?

It is an offsite WooCommerce payment method that sends eligible buyers to hosted Hilt checkout for USDC payments on Solana. WooCommerce keeps the order record, while Hilt keeps the payment, receipt, membership, renewal, and support trail.

Does the plugin support physical shipping carts?

The plugin is designed for non-shipping digital products, memberships, gated downloads, courses, and paid access products. Keep your existing WooCommerce payment methods for cart types that need shipping or mixed fulfilment.

Which Hilt API key scopes does WooCommerce need?

Use read and execute. Do not give the WooCommerce plugin admin or billing scopes.

Where do I download the plugin?

Install it from WordPress.org. The direct latest ZIP remains available as a fallback for controlled installs.

Pricing

The WooCommerce plugin is free. Hilt plan pricing and transaction fees are the same as using Hilt directly. See current pricing at hilt.so/pricing.