Integrations
WooCommerce plugin.
Accept ETH, USDC and USDT at your WooCommerce checkout. Customers pay from their own wallet straight to yours, and Axle never holds the money.
Download
Axle for WooCommerce
Version 0.1.2 (early beta) · 14 KB · zip
SHA-256: b4a2c1087bc4e1d6569b6bcb1bd0a63e7b90de5d6ba10cd76ea368254376e8fe
What you need
- WordPress 6.0 or newer, with WooCommerce installed and active.
- A store priced in US dollars. The payment option hides itself on other store currencies for now.
- PHP 7.4 or newer. It has been tested on PHP 8.2.
- An Axle merchant account with a connected payout wallet, approved for beta payments.
- Customers pay with a browser wallet such as MetaMask.
Set up in about 10 minutes
- In WordPress go to Plugins, Add New, Upload Plugin, choose the zip and activate it.
- In your Axle dashboard, connect your payout wallet. Then open the API Keys tab and create a key with the Store plugin access. That access can create payment links and read payments, but it cannot start refunds. Copy the key, which starts with
sk_. - In the dashboard's Webhooks tab, add an endpoint for your store and copy the signing secret it shows once. Subscribe it to
payment.succeeded,payment.failedandpayment.underpaid. - In WooCommerce go to Settings, Payments, Axle (crypto), fill in the fields below, tick Enable and save.
- Place a $1.00 test order yourself and watch it move to Processing once the payment confirms.
| Setting | What to enter |
|---|---|
Title | What customers see at checkout. Update it if you narrow the accepted coins. |
Accepted coins | ETH, USDC and USDT are all on by default. Remove any you do not want to take. |
Axle API key | The sk_ key from step 2. |
Webhook signing secret | The secret from step 3. |
Axle API URL | https://axle-production-fa2b.up.railway.app |
Axle checkout URL | https://axle-pay.com |
How an order works
- The customer chooses Pay with crypto at checkout.
- The plugin creates a fixed-amount payment link for that order.
- Axle's checkout opens in a window. The customer pays from their own wallet, straight to yours.
- Axle verifies the payment on-chain. Ethereum payments wait for 12 confirmations, which takes a few minutes, so a payment is not instant.
- The plugin reads the payment back, checks the amount matches the order, and moves the order to Processing.
Choosing which coins you accept
Pick the coins your store takes in the Accepted coins setting. With only USDC selected, the checkout offers USDC and nothing else, so customers have nothing to get wrong. With all three selected the checkout offers any of them.
Limits today
- Dollar-priced stores only.
- No refund button. A refund is sent from your own wallet and checked by Axle, using the Axle dashboard.
- Mainnet payments are capped at $10 while Axle is in beta, so larger orders fail at checkout.
- WooCommerce's hold-stock time should be longer than the time a customer takes to pay, or unpaid orders may be cancelled early.
- Ethereum only for now. Shopify and other store platforms are not supported.
What has been tested
- On a local test store: the option shows at checkout, links are created, the checkout window loads, bad webhook signatures are rejected, duplicate events are ignored, and a real test-network USDC payment completed an order.
- On Ethereum mainnet: one $1.00 order, paid in ETH, was verified by Axle and moved to Processing. That payment was sent from the merchant wallet to itself, so it proves the flow, not a customer paying a merchant.
- Not yet tried: a public live store, a webhook arriving from a real store, the classic (non-block) checkout, and a mainnet USDC or USDT payment through the plugin.
Help and feedback
This is an early beta, so the most useful thing you can do is tell us what confused you or broke. Write to axlepay.support@gmail.com.