| Requirement | Details |
|---|---|
| WordPress | 6.1 or later. Tested up to 7.1. |
| PHP | 7.4 or later, with the curl, json and mbstring extensions (used by the bundled Stripe library). |
| Database | The WordPress database user must be able to create and alter tables. Payment Page creates and updates its own tables automatically. |
| HTTPS | Required for Apple Pay and Google Pay. On an HTTPS site, open wp-admin on the same address as Settings > General > WordPress Address (URL) before connecting a gateway. |
| WordPress Address (URL) | Must not contain ~, which breaks the Stripe and PayPal connections. |
| Elementor | Optional. Needed only for the Payment Page Elementor widget and the Elementor page templates. |
Connections#
Payments depend on these routes and services, so firewalls and security plugins must allow them:
- Visitors to your site: the payment form calls
/wp-json/payment-page/v1/from the visitor's browser without a login. - Stripe and PayPal to your site: webhooks arrive at
/wp-json/payment-page/v1/webhook/. - Your server to Stripe and PayPal: outbound HTTPS to process payments.
- Your server to Payment Page: outbound HTTPS to
api.paymentpageplugin.com(Stripe Connect onboarding, admin notices, and on the Free plan the creation of each Stripe payment) and todemo.paymentpageplugin.com(the template gallery).
Scheduled tasks#
Abandoned-cart reminders (Pro) are sent by an hourly WP-Cron event. If your host turns off WP-Cron (DISABLE_WP_CRON), run wp-cron.php from a real server cron job so reminders still go out.
For conflicts with caching, security or optimization plugins, see Known Plugin Conflicts.