WP Manifestindependent plugin directory
manifest / ecommerce / pmpro-ucash

U.CASH Pay for Paid Memberships Pro

U.CASH Pay gateway for Paid Memberships Pro (crypto + cards). Non-custodial.

by U.CASH · github.com/udotcash/pmpro-ucash · website

★ 0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/udotcash/pmpro-ucash/archive/refs/heads/master.zip

pmpro-ucashpay

U.CASH Pay gateway for Paid Memberships Pro. Accept crypto (Bitcoin, EVM chains, and more) and cards (via your own Stripe) for membership purchases. Non-custodial: funds settle directly to your own configured receive addresses on pay.u.cash.

This plugin registers a new PMPro payment gateway called U.CASH Pay (ucashpay). On checkout, the member is redirected to a hosted pay.u.cash link built from the level price; on return, the order is reconciled.

How it works

  1. A member checks out for a membership level in WordPress + Paid Memberships Pro.
  2. PMPro calls the gateway process(), which builds a hosted pay.u.cash link using the level price as the amount and the PMPro order code as the external_reference.
  3. The member is redirected off-site to https://pay.u.cash/embed.php and pays with crypto or card.
  4. pay.u.cash redirects the member back to the PMPro confirmation page, where the return handler reconciles the order.

The link is built entirely from a publishable, store-level Cloud Token. No private keys, withdraw secrets, or backend custody credentials are ever stored in WordPress. This is the non-custodial model: U.CASH Pay only ever routes funds to addresses you configured in your store.

Requirements

  • WordPress 5.5 or newer.
  • PHP 7.2 or newer.
  • Paid Memberships Pro (active).
  • A pay.u.cash store with receive addresses configured and a Stripe connection for cards.

Install

  1. Install and activate Paid Memberships Pro.
  2. Upload the pmpro-ucashpay folder to /wp-content/plugins/ (or upload the ZIP via Plugins > Add New > Upload Plugin).
  3. Activate "U.CASH Pay for Paid Memberships Pro".
  4. Go to Memberships > Settings > Payment Gateway & SSL.
  5. Choose U.CASH Pay as the gateway and paste your pay.u.cash Store Cloud Token.
  6. Save settings.

Usage

Once configured, any membership level priced above zero can be paid via U.CASH Pay. On checkout, the member is sent to pay.u.cash, pays, and is returned to the confirmation page. Crypto confirmations can take a few minutes; if the order is still pending on return, you can reconcile it from Memberships > Orders (the order code is the external_reference on pay.u.cash).

Because the Cloud Token is publishable, the checkout link is safe to construct and open in the browser. The plugin uses only that token to start payments; it never touches withdrawal authority.

Set up your pay.u.cash account

  1. Sign up at pay.u.cash, then click the verification link in the email.
  2. Set receive addresses under Settings -> Addresses (raw address, ENS, Unstoppable Domains, or FIO).
  3. Create a store under Account -> Stores and copy its Store Cloud Token (use the store-level token, not the account-wide one).
  4. For fiat cards, connect your own Stripe under Settings -> Payment processors.

Recurring renewals are not auto-supported

pay.u.cash checkouts are one-time payments. There is no automatic recurring billing in the non-custodial model, so recurring renewal payments must be made manually by the member. This plugin handles the initial membership payment correctly; for true subscriptions we recommend a non-recurring membership term or manual renewal reminders. This is an honest platform limitation, documented rather than hidden.

Files

  • pmpro-ucashpay.php - main plugin file; registers the gateway, settings field, and return handler.
  • classes/class.pmprogateway_ucashpay.php - the PMProGateway_ucashpay class (extends PMProGateway): process() redirect and handle_return() reconciliation.

Security model

  • Non-custodial. The store Cloud Token is publishable and can only initiate payments to your own addresses.
  • No private keys, xpubs, or withdraw secrets are stored in WordPress.
  • The return handler does a best-effort server-side lookup of the tracked checkout by external_reference; it never trusts a raw "paid" flag from the browser.

License

MIT. See LICENSE.