Why don't the payment fields appear on the checkout page?
If you have noticed that the payment fields on the checkout page are no longer appearing, and you use Single Page Checkout with Stripe Elements, this is not a bug but a change that was implemented to reduce the number of incomplete payments that appear in Stripe.
The payment fields are a form that is generated by Stripe called the payment element form. With recent changes to this form, Stripe requires an incomplete payment to be created before the form can be displayed. This would result in an incomplete payment every time the checkout page was loaded.
Since version 1.9.41 MemberPress now hides the payment form until the user has entered their email address and other required fields such as the address. This reduces the number of incomplete payments that appear in your Stripe dashboard.
Versions 1.9.48a1 and later include a message to the customer letting them know they need to enter their email and physical address (if applicable) to display the payment form. How to Install an Edge Build.
Please Note: Incomplete payments will still be created for logged-in users whenever they visit or refresh a checkout page. If this bothers you, use the same fix as below.
If this user experience doesn't work for you can do one of the following:
- Switch to Stripe Checkout under MemberPress -> Settings -> Payments (recommended)
- Disable the Single Page Checkout option in MemberPress -> Settings -> Account
- Re-Order the Payment Options so that one other than Stripe is first. See Also: Re-Ordering Payment Options