Skip to content

Paid Memberships Pro Square Payment Gateway

Accept Paid Memberships Pro (PMPro) membership payments with Square Hosted Checkoutno WooCommerce, no WooCommerce Subscriptions, and no on-site card fields.

Download on WordPress.org

Square for PMPro membership sites

Payments Square Connect adds a native PMPro payment gateway: Square Hosted Checkout (Payments Square Connect). Members complete checkout on your PMPro membership page, then pay on Square's secure hosted page (Apple Pay, Google Pay, and cards when enabled). They return to your site when payment is confirmed.

This is the same hosted checkout pattern used for WooCommerce and form plugins — one Square OAuth connection powers your entire WordPress stack.

Why use hosted checkout for PMPro?

Benefit Details
No WooCommerce Subscriptions PMPro recurring levels work directly with Square subscription plan variations
Free PMPro + free plugin Install PMPro from WordPress.org; no paid PMPro Square add-on required for redirect checkout
Fewer checkout errors No Square Web Payments SDK embedded in your theme — fewer JavaScript and caching conflicts
Automatic renewals Square bills members on your PMPro billing cycle; webhooks update membership status
One connection Same Sandbox/Live Square account as WooCommerce, WPForms, CF7, and payment links

Requirements

Setup guide

1. Install Paid Memberships Pro

Install and activate Paid Memberships Pro from WordPress.org. Run the setup wizard to create membership levels and pages (checkout, account, levels, etc.).

2. Connect Square

Open Payments Square Connect → Get started (or Payments Square Connect settings):

  1. Choose Sandbox for testing or Live for real payments.
  2. Click Connect Square and authorize your seller account.
  3. Select a Square location and save.

3. Enable the PMPro gateway

  1. Go to Memberships → Settings → Payments in wp-admin.
  2. Payment Gateway: select Square Hosted Checkout (Payments Square Connect).
  3. Gateway Environment: match your Square Connect mode (Sandbox/Testing or Live).
  4. Click Save All Settings.

The PMPro dashboard Configure Payment Settings step should show a green check when Square is connected and you have at least one paid membership level.

4. Create a recurring membership level

  1. Memberships → Membership Levels → Add New Level (or edit an existing level).
  2. Set Initial Payment and/or Billing Amount (e.g. $29.00 per month — enter 29, not 2900).
  3. Set Billing Cycle (e.g. every 1 Month).
  4. Save the level.

5. Test checkout

Open your PMPro checkout page (e.g. /membership-checkout/) while logged in or as a guest:

  1. Select the membership level.
  2. Fill billing fields and click Complete Payment.
  3. You are redirected to Square Hosted Checkout.
  4. Pay with a Sandbox test card (Sandbox mode) or a real card (Live mode).
  5. Square redirects back to your site; PMPro activates the membership when payment succeeds.

How recurring billing works

For recurring PMPro levels, the plugin:

  1. Maps the level's billing amount and cycle to a Square subscription plan variation (auto-match existing catalog plans or create a new STATIC-priced plan via Square Catalog API).
  2. Creates a Square payment link with subscription_plan_id set to that variation.
  3. Redirects the member to Square to subscribe.
  4. Stores the PMPro order as pending until return or webhook confirms payment.
  5. On success, assigns the membership level via PMPro.

Renewals: Square charges the member each billing period. Configure the webhook URL from Payments Square Connect → Connect in the Square Developer Dashboard so invoice.payment_succeeded and subscription events update membership status when buyers do not return to your site.

Optional: manual Square plan variation

By default, the plugin auto-matches or creates a Square plan variation from the PMPro level price and cadence.

To pick a specific plan:

  1. Create subscription plans in Square (or let the plugin create them on first checkout).
  2. Open Payments Square Connect → Subscription Plans and copy a Variation ID.
  3. Edit the PMPro membership level → Square Subscription Plan → choose the variation (or leave Auto-match).

PMPro gateway settings screen

Under Memberships → Settings → Payments, click Edit Settings next to Square Hosted Checkout (Payments Square Connect) to view:

  • Square Connection status
  • PMPro Environment (must match Square Connect Sandbox/Live)
  • Webhook URL for Square Developer Dashboard

Square OAuth credentials and location are managed on Payments Square Connect → Connect — not duplicated inside PMPro.

Phone numbers and checkout errors

Square requires valid E.164 phone numbers when pre-filling checkout. If a member enters an incomplete phone on the PMPro form, the plugin skips the phone field on the Square link instead of failing the entire checkout. Email is still pre-filled.

Use a full 10-digit US number (e.g. 5551234567) when testing, or leave phone blank if optional on your level.

Local development (localhost / XAMPP)

  • Use http://localhost/... for checkout and wp-admin — not https://localhost (XAMPP serves HTTP on port 80).
  • OAuth return URLs and payment return URLs automatically use HTTP for localhost.
  • For Square webhooks on local dev, use a tunnel (e.g. Cloudflare Tunnel) and set WordPress siteurl to the public HTTPS URL while testing webhooks.

Limitations

  • On-site card fields are not supported — checkout always redirects to Square Hosted Checkout.
  • Update billing / payment method on PMPro billing page directs members to complete checkout again or manage billing in Square (hosted gateway pattern).
  • Refunds for membership orders follow the same rules as WooCommerce hosted checkout — initial signup orders with a stored Square payment ID can be refunded from wp-admin when supported; recurring renewal charges are refunded from the Square Dashboard.
  • Cash App Pay / Afterpay are not available for subscription signup links.

Compare: PMPro + Square options

Approach WooCommerce needed? Checkout style
Payments Square Connect + PMPro gateway No Square Hosted Checkout redirect
WooCommerce + WooCommerce Subscriptions + Square Yes Store cart + optional hosted checkout
PMPro Stripe gateway No On-site Stripe fields or Stripe Checkout

For membership-only sites (courses, communities, associations, rental listings), PMPro + Payments Square Connect is the simplest path to Square recurring memberships without running a WooCommerce store.

Troubleshooting

Issue Fix
Configure Payment Settings not ticked Connect Square; ensure a paid membership level exists; save PMPro payment settings
Square API request failed Reconnect Square on Connect screen; match Sandbox/Live in PMPro and Connect
INVALID_PHONE_NUMBER Use valid 10-digit phone or leave blank — plugin skips invalid numbers
Stays on checkout after submit Update to plugin 1.3.27+ (external Square redirect fix)
$40,000 instead of $400 PMPro Billing Amount is in dollars — enter 400 not 40000
Renewals not updating Add webhook URL in Square Developer Dashboard; subscribe to payment and subscription events

Download Payments Square Connect