Payment Page 1.5.3 implements ACH Direct Debit with Stripe Financial Connections and a Stripe Payment Intent using us_bank_account. The legacy Plaid routes and plugin-side Plaid credentials are no longer part of the released flow.

Enable ACH on a form#

  1. Confirm in Stripe that the connected account is eligible for US bank-account payments and has completed any provider requirements.
  2. In Payment Page > Payment Gateways > Stripe, enable ACH Direct Debit for the intended TEST or LIVE configuration.
  3. Edit the individual Payment Form and include ACH Direct Debit in that form's Payment Methods settings.
  4. Save the form and verify the complete flow in the appropriate Stripe test environment before using LIVE mode.

The payment method is not automatically added to every Pro form. Both the global gateway setting and the individual form configuration affect whether it is offered.

Customer flow#

For a one-time ACH payment, Payment Page creates a Payment Intent configured for us_bank_account. The browser then uses Stripe's Financial Connections collection and confirmation flow. Stripe controls the available bank-connection and verification choices.

ACH is asynchronous. A browser response is not a substitute for the final provider state. Review the Payment Page record and the corresponding Stripe object when investigating a payment.

Recurring use#

The released method definition permits ACH on recurring pricing plans, and the plugin uses Stripe setup/payment objects for the saved bank-payment flow. Payment Page 1.5.3 subscribes to paid and failed invoice events plus created, updated, and deleted subscription events. Renewal settlement and lifecycle status use separate event handlers. This contract does not replace Stripe's eligibility, mandate, retry, or account-state rules, so verify the exact recurring configuration in Stripe test mode before relying on it.

Webhook scope#

After successful Stripe Connect OAuth, Payment Page provisions its endpoint with the exact 12-event PaymentIntent, SetupIntent, invoice, and subscription contract. An existing owned 1.5.2 endpoint can be upgraded in place; a manually managed endpoint must be configured with the same complete list by the administrator.

See Stripe Webhook Configuration for the exact automatic and manual setup boundaries.

Existing pre-1.5.0 bank details#

Payment Page does not provide a Plaid-to-Financial-Connections migration API. Requirements for reusing older bank details and mandates are controlled by Stripe and can vary by account and migration path. Review the current Stripe guidance for the connected account rather than using an undocumented command or assuming that an old bank record can be charged unchanged.

Troubleshooting#

  • If ACH is not listed in WordPress, confirm the Pro license state and both the global Stripe method setting and the form-specific method setting.
  • If Stripe does not offer a bank-connection option, review the connected account's country, capabilities, payment-method status, transaction currency, and the customer's bank eligibility.
  • If the browser finishes but the Payment Page record does not reach the expected state, verify the mode-specific callback URL and signing secret and compare the endpoint's event list with the exact contract in the webhook documentation.