USDPAY for WooCommerce

ཞིབ་བརྗོད།

USDPAY for WooCommerce adds a non-custodial USDT payment method to classic checkout and WooCommerce Cart and Checkout blocks.

The plugin sends the order amount and ISO currency to USDPAY. USDPAY calculates the USDT amount on the server, rounds it up to the nearest 0.01 USDT and locks the quote for the selected 15, 30, 45 or 60 minute invoice lifetime. USD uses the explicit product rule 1 USD = 1 USDT; other supported currencies use an auditable market quote.

The customer chooses an available network in the hosted USDPAY checkout. USDT is transferred directly to a receiving wallet configured by the merchant in USDPAY. The WooCommerce order is marked paid only after the plugin validates a signed invoice.paid webhook and matches its invoice ID, order reference and requested amount to the order.

Features:

  • Hosted USDPAY checkout; no wallet private keys are stored in WordPress.
  • Server-side invoice creation with an idempotency key.
  • Signed webhook verification against the exact raw request body.
  • Durable webhook deduplication and safe retry handling.
  • WooCommerce High-Performance Order Storage (HPOS) compatibility.
  • Classic checkout and Cart/Checkout Blocks support.
  • Merchant-selectable 15, 30, 45 or 60 minute invoice lifetime with an immutable USDT quote.

Not currently included:

  • Automatic blockchain refunds.
  • WooCommerce Subscriptions recurring charges.

External service

This plugin connects to USDPAY to create payment invoices and redirect customers to a hosted checkout. It sends the store order total and ISO currency, an internal WooCommerce order reference, invoice lifetime, webhook callback URL and customer return URL. The return URL can contain WooCommerce’s order key so the customer can return to the correct receipt page. The plugin does not send customer name, email, address, cart contents or wallet private keys.

USDPAY sends signed payment status webhooks back to the WordPress REST endpoint created by the plugin.

Using the service is subject to the USDPAY terms and privacy policy:

  • Terms: https://usdpay.me/legal/terms
  • Privacy policy: https://usdpay.me/legal/privacy

སྒྲིག་འཇུག

  1. Install and activate WooCommerce.
  2. Upload the plugin ZIP in Plugins > Add New > Upload Plugin, then activate it.
  3. Choose any currency supported by USDPAY in the WooCommerce store settings.
  4. In your USDPAY merchant account, create or select the store for this website and configure receiving wallets.
  5. Create a secret API key and copy the store webhook signing secret.
  6. Open WooCommerce > Settings > Payments > USDPAY — USDT.
  7. Paste both secrets, choose a 15, 30, 45 or 60 minute invoice lifetime, enable the method and save. The converted USDT amount remains fixed until the invoice expires.
  8. Place a small real payment and verify that the order changes from Pending payment to Processing or Completed only after on-chain confirmation.

The callback endpoint is generated automatically for every invoice. The exact endpoint is displayed in the payment method settings.

FAQ

Can my WooCommerce store use EUR, RUB or another currency?

Yes. Version 0.2.0 supports a controlled allowlist including EUR, GBP, RUB, UAH, PLN, TRY, CAD, AUD, JPY, CHF and other widely used fiat currencies. The current order currency is converted by USDPAY, not by WordPress.

Does 1 USD always equal 1 USDT?

For this plugin’s checkout calculation, yes: the numeric USD order total becomes the requested USDT amount. This is a product rule, not a claim that USDT’s market price can never deviate from one US dollar.

Does the plugin hold customer funds?

No. USDT is sent to the merchant wallets configured in USDPAY.

Where are the API credentials stored?

They are stored as WooCommerce gateway settings in the WordPress database and are used only by server-side PHP. Protect WordPress admin access, database backups and configuration as you would for any payment integration.

Are refunds automatic?

No. USDPAY is non-custodial and cannot move funds from the merchant’s wallet. The merchant must review and send each refund manually.

གདེང་འཇོག

There are no reviews for this plugin.

བྱས་རྗེས་འཇོག་མཁན། & གསར་འབྱེད་པ།

“USDPAY for WooCommerce” is open source software. The following people have contributed to this plugin.

བྱས་རྗེས་འཇོག་མཁན།

“USDPAY for WooCommerce” has been translated into 1 locale. Thank you to the translators for their contributions.

ཁྱེད་ཀྱི་སྐད་ཡིག་ནང་ལ་ “USDPAY for WooCommerce” ཡིག་སྒྱུར་བྱོས།

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

དག་བཅོས་ཉིན་ཐོ།

0.3.0

  • Added a merchant-selectable 15, 30, 45 or 60 minute invoice lifetime.
  • Kept the calculated USDT amount and exchange rate fixed for the full invoice lifetime.
  • Kept 15 minutes as the default for existing and new installations.

0.2.0

  • Added server-side conversion from supported WooCommerce fiat currencies to USDT.
  • Added immutable order amount, currency, quote, exchange-rate source and timestamps to invoices and signed webhooks.
  • Locked converted quotes for 15 minutes and rounded the quoted USDT amount up to 0.01 USDT.
  • Added explicit errors for unsupported currencies and unavailable or stale rates.

0.1.1

  • Changed the global payment gateway class to use the plugin-specific USDPAY_WC_ prefix and avoid collisions with WooCommerce classes.

0.1.0

  • Initial USD-only payment gateway.
  • Added hosted invoice checkout, signed webhooks, replay protection, HPOS and block checkout support.