USDPAY adds a USDT payment gateway to Easy Digital Downloads. A customer completes the normal EDD checkout, is redirected to the hosted USDPAY checkout, and sends USDT directly to the merchant’s configured wallet. USDPAY monitors the blockchain and sends a signed webhook. Only a valid invoice.paid webhook completes the EDD order and unlocks the standard receipt and download access.
USDPAY is non-custodial. It does not hold customer funds, request private keys, or request seed phrases.
This plugin connects to USDPAY, an external payment-invoice and blockchain-verification service, when a customer selects USDPAY and submits the Easy Digital Downloads checkout.
The plugin sends the order amount, currency, merchant order reference, invoice expiration, return URL, webhook callback URL, and the selected payment network when one is configured. It does not send the customer’s name, email address, billing address, purchased item details, private keys, or seed phrases.
The customer is then redirected to the hosted USDPAY checkout. When that page is opened, USDPAY may process standard technical information such as the customer’s IP address, browser, and device information, as described in the USDPAY Privacy Policy.
USDPAY uses the submitted payment metadata to create an invoice, monitor the selected blockchain network, match the payment, and send payment-status webhooks to the merchant’s website.
Customer funds are sent directly to the merchant’s wallet. USDPAY does not receive or hold the payment funds and does not have access to the merchant’s private keys.
USDPAY service:
https://usdpay.me/
Terms of Service:
https://usdpay.me/legal/terms
Privacy Policy:
https://usdpay.me/legal/privacy
Enable the gateway in the standard EDD Payment Gateways settings. Choose whether the customer selects the network on hosted checkout or whether the merchant fixes TRC20, TON, or BEP20.
Paste the USDPAY Secret API Key in the gateway settings. The saved key is stored server-side, displayed only as a mask, and is never sent to browser JavaScript or written to plugin logs.
Copy the webhook URL shown in the settings to the matching USDPAY store. Paste the store’s Webhook Secret into WordPress. Webhooks are verified over the raw request body with HMAC-SHA256 and processed with durable idempotency locks.
TRC20, TON, and BEP20 are supported. When Customer chooses network is selected, the plugin omits the network from invoice creation and USDPAY shows the available choices.
Version 1.0.0 supports one-time digital purchases for guests and logged-in customers.
One USDPAY invoice is created for the final payable total of the complete EDD order, including carts with multiple products and supported bundles.
The gateway uses the final EDD order total, so the customer’s selected variable price is respected.
Fixed and percentage EDD discounts are reflected in the final order total. A 100% discounted order uses EDD’s free checkout and does not call USDPAY.
Taxes are calculated by EDD. The plugin sends the final grand total and does not recalculate tax.
Orders with a final total of zero use the standard EDD free checkout. No USDPAY invoice is created.
Automatic recurring crypto payments are not supported in version 1.0.0. Recurring carts are blocked before a USDPAY invoice can be created.
USDPAY does not process automatic blockchain refunds because payments are sent directly from the customer to the merchant’s wallet. USDPAY does not have access to the merchant’s wallet or private keys. If an order is marked as refunded or cancelled in Easy Digital Downloads, the plugin can update the local order and access status, but no USDT is sent back automatically. Any financial refund must be sent manually by the merchant from their own wallet.
The original invoice ID, transaction hash, network, amount, currency, and payment time remain in the order history for audit purposes.
The plugin verifies webhook signatures over the raw body, uses timing-safe comparison, correlates both invoice ID and order ID, and uses database uniqueness constraints for webhook and fulfillment idempotency. Browser return parameters never complete an order. Secrets and customer payloads are excluded from debug logs.
If checkout cannot start, verify that Easy Digital Downloads is active, the gateway is enabled, both USDPAY secrets are configured, the store currency is supported, and the webhook URL belongs to the same USDPAY store as the API key.