HustlePay Mobile Counter

Description

HustlePay Mobile Counter adds a small product catalog, a mobile-friendly counter, hosted checkout links, QR codes, local sales records, and an optional self-order shop to WordPress.

The catalog and sale snapshots are stored in WordPress. Product prices used for public orders are always read again on the server. The selected HustlePay publishable key stays on the server and is never placed in public JavaScript.

Features:

  • Sell from WordPress without WooCommerce.
  • Create a one-time item with a title, price, description, and up to three photos.
  • Add reusable WordPress products with a price, SKU, featured image, and public/private visibility.
  • Let a customer order from a page containing [hustlepay_mobile_counter].
  • Open, copy, share, or scan a hosted checkout link while standing beside a customer.
  • Keep local sale references, item snapshots, totals, and statuses.
  • Synchronize open checkout statuses through WP-Cron every five minutes.
  • Notify the store email when a checkout becomes paid.
  • Optionally email a simple payment receipt to a customer.
  • Give staff access with the included Mobile Counter Cashier role.
  • Export and erase locally stored customer details through WordPress Privacy tools.

HustlePay is not a bank, payment service provider, payment processor, money transmitter, merchant of record, or settlement provider. It provides a non-custodial checkout orchestration layer. Actual payment authorization, processing, settlement, refunds, disputes, and chargebacks remain with payment service providers connected and configured by the merchant.

An active HustlePay account is required. Merchants are responsible for maintaining their own accounts and agreements with the payment service providers they use.

External services

This plugin connects to the HustlePay checkout orchestration service. It uses the endpoint selected by the WordPress administrator:

  • Live API: https://api.hustlepay.net
  • Test API: https://api.hustlepay.dev
  • Service website: https://www.hustlepay.me/
  • Terms of Service: https://www.hustlepay.me/terms-of-service/
  • Privacy Policy: https://www.hustlepay.me/privacy-policy/

The plugin does not contact HustlePay merely by being installed or activated. Requests begin only after an administrator selects test or live mode, saves the matching HustlePay publishable key, and tests the connection or starts using checkout functionality.

The following requests can then be made:

  • A connection test sends the selected publishable key as an x-api-key header to /v1/me when an administrator clicks “Test connection”.
  • Creating a checkout sends the publishable key, an idempotency key, session mode, currency, item names, descriptions, prices, quantities, and product or uploaded image URLs to /v1/sessions.
  • Synchronizing an open sale sends its HustlePay session ID and the publishable key to /v1/sessions/{session_id}. This can happen manually or through WP-Cron.
  • Displaying a checkout QR code sends its HustlePay session ID and the publishable key to /v1/sessions/{session_id}/qr.

Receipt and invoice contact fields entered in the public shop are stored in the local WordPress sale record. This version does not send those fields to the HustlePay API. Uploaded one-time-item photos are stored in the WordPress Media Library, and their public URLs can be sent to HustlePay as part of a checkout item.

The plugin does not store or transmit full card numbers or CVVs. Payment-method collection and processing take place in the hosted HustlePay checkout flow and through the merchant’s selected payment service providers.

Use of the service is subject to the HustlePay Terms of Service and HustlePay Privacy Policy.

Installation

  1. Upload the plugin folder to /wp-content/plugins/ or install its ZIP through Plugins > Add New > Upload Plugin.
  2. Activate HustlePay Mobile Counter.
  3. Open Mobile Counter > Settings, keep Test mode selected, and save your HustlePay test publishable key.
  4. Complete a test checkout and then switch to Live mode with your live publishable key when you are ready.
  5. Add products under Mobile Counter > Products.
  6. Use Mobile Counter > Counter for in-person sales.
  7. Review the draft “Mobile Counter Shop” page, select it in the plugin settings, and publish it when the online shop is ready.

Activation creates the self-order page as a draft. The plugin never publishes it automatically.

FAQ

Does this require WooCommerce?

No. Products and sales are stored in WordPress post types owned by this plugin.

Does the plugin process payments itself?

No. It creates and monitors hosted checkout sessions through HustlePay. The payment providers configured for the merchant process the payment.

Can a cashier see every store sale?

Administrators can see all Mobile Counter sales. Users with the included Mobile Counter Cashier role can use the counter and see sales they created.

Can I test before accepting live payments?

Yes. Test mode is selected by default and uses the HustlePay test API and test publishable key. Live mode uses a separate live publishable key.

Is the publishable key shown to visitors?

No. Requests to HustlePay are made from the WordPress server.

What happens when I deactivate or remove the plugin?

Deactivation stops scheduled status synchronization. Uninstallation removes plugin settings, saved publishable keys, and the cashier role, but deliberately retains product, sale, media, and page content to avoid unexpected data loss.

Where is customer information stored?

Optional receipt and invoice contact fields are stored with the local sale record. Administrators can use Tools > Export Personal Data and Tools > Erase Personal Data for a customer’s email address.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“HustlePay Mobile Counter” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

0.1.1

  • Removed the public storefront credit badge and its styles.
  • Updated public checkout instructions and button text to neutral wording.

0.1.0

  • Initial release.
  • Added WordPress-native products, in-person counter, self-order shortcode, local sales, status synchronization, notifications, privacy-tool integration, and separate test and live modes.