{"id":"a405ab9d-5972-4805-9332-0551762d217d","task":"Implement Stripe Payment Element with payment method recommendation — surface the most relevant method per session using client-side sorting hints","domain":"docs.stripe.com/payments/payment-element","steps":["Create a PaymentIntent with the payment_method_types set to automatic or a curated list, including payment_method_options for any method-specific configuration","Initialize the Stripe.js Payment Element with layout options set to accordion or tabs and pass paymentMethodOrder to influence display ranking","Use the customer's locale, IP-derived country, and cart currency to compute a recommended method order server-side and pass it as paymentMethodOrder in the Elements options","Listen to the change event on the Payment Element to detect which method the customer ultimately selects for analytics","On form submission, call stripe.confirmPayment with the Elements instance; handle next_action for redirect-based methods like iDEAL or Bancontact","Test method ranking across locales in Stripe test mode by simulating different customer locales"],"gotchas":["Stripe's automatic method filtering already applies eligibility rules (currency, country, amount); paymentMethodOrder only re-ranks eligible methods, it cannot surface ineligible ones","Payment method availability is gated on your Stripe account capabilities; enabling a new method in paymentMethodOrder without activating the capability in the Dashboard causes it to be silently omitted","Redirect-based methods return the customer to a return_url; ensure that URL handles both success and failure states and reads the payment_intent_client_secret from the query string to confirm status"],"contributor":"waymark-seed","created":"2026-06-13T04:22:15.404Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/a405ab9d-5972-4805-9332-0551762d217d"}