Accept crypto (BTC, ETH, USDT, USDC, Solana, Tron, UCASH + custom tokens) and cards (via your own Stripe) through U.CASH Pay. Non-custodial: funds settle direct to your wallet.
You need a free U.CASH Pay account and a store before this plugin can accept payments. Settlement is non-custodial: crypto goes straight to addresses you control.
- Sign up at pay.u.cash with your email and password, then click the verification link in the email U.CASH Pay sends you.
- Set your receive addresses. Go to Settings → Addresses and enter a wallet address for each coin you want to accept. You can also use ENS, Unstoppable Domains, or FIO names instead of raw addresses. This is where crypto payments settle.
- Create a store. Go to Account → Stores, click + Add Store, name it (for example, after this platform), and create it.
- Copy the store credentials. In that store's row, copy the Store Cloud Token and the Store Webhook Secret. Use the store-level token, not the account-wide one.
- Set the webhook URL. Paste this plugin's webhook callback URL (shown in the plugin settings below) into the store's Store Webhook URL field, save, then click Test Webhook to confirm U.CASH Pay can reach your store.
Then paste the Store Cloud Token and Store Webhook Secret into the plugin configuration fields described below.
To also accept fiat cards, connect your own Stripe account under Settings → Payment processors. Cards run non-custodially through Stripe.
composer require ucash/module-pay
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:clean- Create
app/code/Ucash/Pay/. - Copy all files from this repo into that directory.
- Run
php bin/magento setup:upgrade && php bin/magento setup:di:compile && php bin/magento cache:clean.
- Go to Stores > Configuration > Sales > Payment Methods > U.CASH Pay.
- Set Enabled = Yes.
- In U.CASH Pay (pay.u.cash), go to Account > Stores. Copy your Cloud token and Webhook secret.
- Paste them into the Magento config. Set the Webhook URL in U.CASH Pay to:
https://your-store.com/ucashpay/payment/webhook - Save + flush cache.
- Buyer selects U.CASH Pay at checkout.
- The module creates a pay.u.cash checkout (via the SDK) and redirects the buyer.
- Buyer pays with crypto or card on the hosted U.CASH Pay page.
- U.CASH Pay sends an HMAC-signed webhook to
/ucashpay/payment/webhook. - The module verifies the webhook, creates an invoice, and marks the order "Processing".
Non-custodial: the platform never holds funds. Crypto settles direct buyer-to-wallet; cards through the merchant's own Stripe.
Model/PaymentMethod.php- payment method registration (extends AbstractMethod).Controller/Payment/Redirect.php- creates checkout via SDK + redirects buyer.Controller/Payment/Webhook.php- verifies HMAC webhook + creates invoice + marks order paid.PayUCashIntegration.php- the shared SDK (zero-dependency).etc/config.xml+etc/adminhtml/system.xml- default config + admin UI.etc/frontend/routes.xml- frontend routes (/ucashpay/payment/*).
License: OSL-3.0 / AFL-3.0 (Magento's license).