Last updated October 2026
WPSmartPay is built for WordPress sites that need to accept payments without a traditional online store, such as businesses selling software, services, subscriptions, memberships, registrations, or donations.
I needed one-time and recurring Stripe payments for a software product, with a separate WordPress system handling licensing and fulfillment. I tested that workflow through August and September 2026, entirely in Stripe’s test environment: one-time and recurring purchases, multiple-license purchases, refunds, cancellations, and the handoff to our licensing system.
Test mode lets me verify much of the workflow without charging real cards, but it doesn’t reproduce every live-payment scenario. Live card declines, authentication requirements such as 3D Secure, and actual payouts aren’t covered by the results below.
WPSmartPay Overall Score

Why 3.6/5: A capable, well-priced WordPress payment solution held back by setup friction, unresolved issues, and reliability concerns that still need verification.
See the current AppSumo deal for SmartPay
Affiliate disclosure: If you purchase through my link, I may earn a small commission at no additional cost to you. I only share tools I have used myself.
The 30-Second Decision
Good fit now: one-time payments and initial subscriptions that hand off to another system for fulfillment. In Stripe test mode, a three-license purchase, a monthly subscription, and a refund all worked.
Verify first: renewals, failed payments, card changes, and end-of-term cancellation are still being tested. If recurring billing is central to your business, test those during the refund window.
Update carefully: update Core and Pro together. A version mismatch once locked me out of my WordPress admin.
Not a fit: physical products that need inventory, shipping, or a complex cart.
Testing Status and Known Issues
A webhook is an automatic message one system sends another when something happens. Here, it tells our licensing system what a customer bought.
Statuses reflect the versions I tested. Items marked Needs Retest haven’t been checked on the latest release.
| Test or issue | Status | Cause | What happened |
|---|---|---|---|
| One-time, three-license purchase | Passed | N/A | A $147 Stripe test payment completed and our licensing system created and emailed three separate license keys. |
| One-time card payment in Pro 3.4.3 | Passed | N/A | A $49 one-time purchase completed successfully with Stripe’s 4242 test card after Link was disabled. |
| Initial monthly subscription | Passed | N/A | A fresh-customer $7.99 monthly subscription test (payment #44, October 22) completed with Stripe Tax enabled. Stripe created the customer and subscription, and MWD Software Manager automatically provisioned license #26 for one website. The subscription was active and its initial invoice paid. Existing-customer handling remains a separate issue. |
| Refund | Passed | N/A | A Stripe test refund completed and the corresponding licenses were disabled by our reconciliation process. |
| Billing portal cancellation | Passed | N/A | The customer portal successfully sent a cancellation to Stripe. A later test-clock simulation confirmed cancellation at the paid period end and delivery of the cancellation event to MWD Software Manager; post-expiration enforcement remains a separate check. |
| Webhook handoff to licensing system | Passed | N/A | October 22 lifetime payment #42 automatically provisioned license #25; monthly payment #44 provisioned license #26. Later payment.completed and subscription.created events were recorded without creating duplicate licenses. Earlier handoff failures were not reproduced in these tests. |
| Duplicate subscription records | Fixed | WPSmartPay | One Stripe subscription originally created duplicate WPSmartPay records. A later update addressed the duplication; regression verification is still planned. |
| Stripe credential problems | Fixed | WPSmartPay integration/configuration | Earlier testing showed WPSmartPay passing or retrieving an invalid API key. After updated packages and reconfiguration, test payments succeeded. |
| Form name missing from confirmation | Fixed | WPSmartPay | Earlier confirmations could show a missing or generic form name. The latest successful test correctly displayed the form name. |
| Link payment-method mismatch | Open | WPSmartPay / Stripe integration | With Link enabled, Stripe rejected five checkout confirmations because the PaymentIntent expected card + Link while confirmation supplied card only. Disabling Link allowed the same 4242 card payment to succeed. |
| Failed payments remain as Pending orders | Open | WPSmartPay | Five Stripe-rejected checkout attempts remained visible in the customer dashboard as $49 Pending orders after no charge was completed. |
| Unexpected payment methods at checkout | Resolved | Stripe / WPSmartPay configuration | Earlier testing displayed Klarna and other unexpected payment methods despite configuration changes. Subsequent checkout testing displayed the intended card payment option; the issue is no longer reproducible. |
| Core/Pro version mismatch | Monitoring | WPSmartPay update process | An August Core/Pro mismatch previously blocked WordPress admin access. The site was recovered. As of October 22, Core 3.4.0 and Pro 3.5.1 were installed; long-term protection against incompatible updates has not been verified. |
| Payment form sometimes failed to load | Monitoring | Primarily third party | A cookie-consent script was identified as the primary source of the instability. Disabling that configuration stabilized the Stripe payment field. |
| Rejected Stripe webhooks | Monitoring | Unknown | Four webhooks were rejected during a September 18 test, although the payment still processed. More recent subscription renewal and cancellation events successfully reached MWD Software Manager. The original rejections have not been conclusively explained; continue monitoring. |
| Billing period and cancellation information missing | Needs Retest | WPSmartPay | An earlier WPSmartPay customer-facing subscription record omitted billing period and cancellation details available in Stripe. On October 22, subscription #17 was active and Stripe showed its next billing period, but the SmartPay details view did not clearly display the next billing date. Customer-facing display remains unverified. |
Valid + email address rejected |
Needs Retest | WPSmartPay | A valid Gmail plus-address was rejected during checkout. |
| Customer name missing from some records | Fixed | WPSmartPay | Earlier records sometimes omitted the customer’s name. The latest successful payment correctly populated the customer name on the confirmation. |
| Webhook editor difficult to use on shorter screens | Needs Retest | WPSmartPay | Lower controls were previously clipped on shorter browser windows. |
| Stripe Tax | Configured; collection unverified | Stripe Tax / WPSmartPay | Utah sales tax registration was obtained, with an October 26, 2026 effective date. Stripe Tax is configured with the downloadable software, business-use preset category, and Utah collection scheduled for October 26. Automatic tax is enabled in WPSmartPay. October 22 sandbox checkouts for lifetime (#42) and monthly (#44) purchases completed, but sandbox tax was $0 before the registration start date; collection of Utah tax at the applicable rate remains untested. |
| Successful subscription renewal | Passed | N/A | A Stripe test-clock simulation advanced the $7.99 monthly subscription to November 8. Stripe recorded a second paid invoice and advanced the billing period through December 8. MWD Software Manager extended the existing license through December 8 without creating a duplicate key. |
| Failed subscription payment | Still Testing | N/A | Failed-renewal handling remains untested. A Stripe decline test card was rejected during initial checkout, which does not simulate failure of an existing subscription renewal. Retry behavior, customer notices, and eventual license access still need verification. |
| End-of-term cancellation | Partially Passed | N/A | Stripe test-clock simulation confirmed cancellation at the December 8 period end. MWD Software Manager received and recorded the cancellation and retained the correct paid-through date. Because Stripe’s simulated clock does not advance the WordPress server clock, actual post-expiration license enforcement remains unverified; a licensing safeguard was added in MWD Software Manager 0.6.55 and still needs integration testing. |
| Customer billing self-service | Limited | WPSmartPay | WPSmartPay support confirmed that its customer dashboard does not provide a front-facing link to Stripe’s Billing Portal. Customers need a separately supplied portal link or Stripe recovery emails to update billing details. |
| Subscription quantity and plan changes | Limited | WPSmartPay | WPSmartPay support confirmed that an existing subscription’s quantity, tier, or amount cannot be changed with automatic proration. The subscription must be canceled and the customer must complete a new checkout. |
| Customer email notifications | Limited; duplicate receipt test passed | WPSmartPay | WPSmartPay email shortcodes remain insufficient to replace the existing SiteSqueeze transactional messages. After the Completed Order email setting was toggled on and then off and saved, October 22 successful test purchases #42 and #44 produced only the intended MWD fulfillment email. The earlier duplicate-email behavior was not reproduced; broader notification customization remains limited. |
| Subscription checkout requires duplicate card entry | Mitigated with Stripe Tax | WPSmartPay checkout flow | Previously, Card fields on your page could require card entry followed by a redirect to Stripe-hosted checkout and a second entry. With Stripe Tax enabled, WPSmartPay uses Stripe-hosted checkout, avoiding the embedded-card-then-redirect sequence in the October 22 test. Keep the hosted flow for tax-enabled checkout; vendor clarification on the original behavior is still pending. |
| Fixed website quantities require separate forms | Limited | WPSmartPay | The checkout form does not provide a customer-selectable subscription quantity. Five fixed-quantity forms are needed for monthly plans and another five for lifetime purchases. |
| Automatic tax checkout address error | Passed for new customer; monitor existing | WPSmartPay / Stripe Tax integration | An earlier monthly checkout failed with customer_tax_location_invalid when the customer lacked a valid tax address. On October 22, SmartPay sent automatic_tax.enabled=true and billing_address_collection=required. A fresh-customer monthly checkout (#44) succeeded with automatic tax enabled. The prior address error was not reproduced; an existing-customer checkout (#43) failed for a different reason (missing Stripe customer ID). |
| Payment and license email delivery | Passed | Site SMTP / MWD Software Manager | After correcting FluentSMTP settings, earlier receipt and license emails were delivered. In October 22 tests, lifetime payment #42 and monthly payment #44 automatically provisioned licenses and sent the intended MWD fulfillment email, with no duplicate SmartPay Completed Order email observed. FluentSMTP’s separate test-email-screen error has not been rechecked. |
| Existing-customer subscription checkout | Open | WPSmartPay / Stripe customer mapping | On October 22, monthly checkout payment #43 failed before opening Stripe Checkout. Stripe returned resource_missing: No such customer for an existing customer ID supplied by SmartPay. That ID was absent from the connected sandbox. The same subscription form succeeded for a fresh identity (payment #44), and Stripe created a new customer. Existing-customer reuse and customer mapping need investigation before launch; no contact records have been deleted. |
A previous problem isn’t necessarily present in the current release, but an item marked Needs Retest isn’t assumed fixed either. I’ll update those statuses only after retesting them. The tracker confirms the September 18 webhook errors, incomplete subscription information, plus-address rejection, missing customer-name issue, and remaining subscription tests.
See the current AppSumo deal for SmartPay
What I Like About WPSmartPay
Simple checkout with flexible fulfillment
Customers choose what they’re buying, enter their details, and pay without a shopping-cart process. WPSmartPay handles the transaction and passes the purchase to our licensing system for fulfillment. In the $147 test, one payment produced three separate licenses and one email with all three keys. That suits businesses where payment is one step in a larger process.
A clean WordPress interface
The dashboard is easy to navigate despite the plugin’s size. When troubleshooting a subscription, I could move from the payment to the customer to the subscription record without going through an order-and-inventory system. Data completeness is a separate question: some subscription records were missing the billing period and cancellation date that Stripe showed (see table).

Where WPSmartPay Is Limited
Once a subscription exists, changing it is harder than creating it.
Plan changes: you can’t change an existing subscription’s quantity, tier, or amount with automatic proration. If a customer goes from one license to three, I can’t raise the subscription from $7.99 to $23.97 per month. I have to cancel it and have the customer complete a new checkout.
Billing self-service: the customer dashboard has no button or link to Stripe’s Billing Portal, according to WPSmartPay support. A customer with an expired card needs a portal link from me, or has to rely on Stripe’s recovery emails.
Core and Pro Update Failure
WPSmartPay has two plugins: the main plugin (Core) and Pro, which adds paid features. During an August update, Pro updated but Core failed to, and the version mismatch caused a fatal WordPress error that blocked the Plugins page, even in recovery mode. I regained access through my host’s file manager and installed compatible versions. The error came from functionality tied to another payment gateway, although I only use Stripe.
It hasn’t recurred, but I haven’t confirmed that WPSmartPay now prevents mismatched versions, so I’m not marking it resolved. It’s relevant again now: WPSmartPay announced Pro 3.4.3 while the downloads available to me still provide 3.4.1. I’ve asked for clarification rather than forcing an update.
Development and Support
Development has been active. Several problems I reported, including duplicate subscription records, were fixed in later releases. On August 31, after I reported checkout, webhook, and update problems on AppSumo, a WPSmartPay founder replied that the team was investigating. Responses to other reports sometimes took several days. I judge fixes by retesting, not by release notes.
What I Haven’t Tested
The AppSumo listing also advertises invoices, donations, coupons, event registrations, additional payment gateways, and reporting. I haven’t tested those, so this review isn’t a recommendation of them.
WPSmartPay Pricing
The AppSumo offer captured for this review lists WPSmartPay at $99 for lifetime access on five websites and includes a 60-day money-back guarantee.
That window gives buyers time to test more than the initial checkout. A normal monthly subscription renewal takes a billing cycle to observe in live use. Stripe also offers testing tools that can simulate time-dependent subscription events, but I haven’t yet confirmed that my WPSmartPay-created subscriptions can use that process cleanly, so I’m not treating it as verified functionality here.
Bottom Line
WPSmartPay is a strong option to consider for businesses that want to accept payments through WordPress without operating a traditional eCommerce store. The one-time purchase, initial subscription, refund, cancellation, webhook, and fulfillment workflows I’ve tested are working in Stripe’s test environment.
Recurring-subscription lifecycle testing and Core/Pro update safety are the two areas I’m still watching most closely. If renewals and failed-payment handling are central to your business, I’d use the refund window to test those workflows against your own setup before relying on them.
I’ll continue updating the tracker as those tests are completed.
Review Updates
August 31, 2026: A Core/Pro version mismatch caused a critical WordPress error and required recovery through my hosting account. My AppSumo review at the time said I was close to ending my WPSmartPay testing and looking for another solution. The public listing confirms both the review and WPSmartPay’s response. WPSmartPay – WordPress payments…
September 18, 2026: One-time purchases, initial monthly subscriptions, multi-license fulfillment, refunds, webhook delivery, and basic cancellation were working. Several subscription lifecycle tests remained unfinished.
September 29, 2026: WPSmartPay announced Pro 3.4.3 while the download sources available to me continued providing Pro 3.4.1. I asked WPSmartPay to clarify the current release before installing anything further.
See the current AppSumo deal for SmartPay
This content is for educational purposes and reflects my hands-on experience using the product and the information publicly available at the time of writing. Always evaluate tools based on your specific business needs, goals, and workflows before making a decision.
Looking for more marketing software reviews? See my full list of marketing tools and software I recommend.


