Checkout Extension
The AIOT checkout extension adds “Pay with USDC (x402)” as a payment option on your store’s checkout page. It’s a Shopify Checkout UI Extension — Shopify-hosted, sandboxed, and automatically updated when we ship a new version.
What shoppers see
When a shopper reaches checkout, the extension appears alongside Shopify Payments, PayPal, and any other methods you’ve enabled. Selecting it opens a modal that walks through:
- Wallet connection — the shopper clicks “Connect wallet” and picks MetaMask, Rabby, or any other injected provider.
- Network check — if the wallet isn’t on BSC Mainnet (or Testnet if you’re in test mode), the extension prompts a network switch.
- Signature — the shopper signs an EIP-712 Permit2 message. No gas fee, no on-chain transaction from the shopper.
- Settlement — the extension shows a spinner while the facilitator settles on-chain. Typical time: 2–5 seconds.
- Done — the extension hands control back to Shopify’s checkout, which closes the session and shows the thank-you page.
Screenshot:
/screenshots/checkout-extension.png— the AIOT payment extension open at checkout with the wallet-connect state. (Placeholder; awaiting live capture.)
Enabling the extension
The extension is installed automatically when you install the AIOT Payments app — you don’t need to do anything in the Shopify theme editor. To toggle it on/off:
- Open Apps → AIOT Payments → Settings.
- Toggle Enable x402 Payments.
- Save.
Changes take effect on the next checkout — shoppers already mid-checkout won’t see a new payment option until they reload.
The extension runs in Shopify’s sandboxed iframe. It can’t see your store theme, other checkout extensions, or any cookies from your main domain — this is why settlement is routed through the AIOT facilitator rather than a direct RPC call from the shopper’s browser.
Testing the extension
Best practice before launching:
- Set your network to BSC Testnet in the Settings page.
- Get some testnet USDC from a faucet like testnet.binance.org/faucet-smart.
- Place a real order on your store using a dummy product priced at $0.10–$1.00.
- Verify it appears in both Orders (Shopify admin) and Apps → AIOT Payments → Transactions.
- Issue a testnet refund through the Transactions & Refunds page.
- Only then switch to BSC Mainnet.
Browser support
The extension requires an injected Ethereum provider (window.ethereum). Works out of the box with:
- MetaMask (desktop + mobile)
- Rabby
- Trust Wallet (in-app browser)
- Coinbase Wallet (in-app browser)
- Any wallet that implements EIP-1193
Shoppers on browsers without a wallet extension see a “Connect wallet” button that links to the MetaMask install page — they can install and return without losing their cart.