Stripe Checkout Playground

Stripe Checkout lets you integrate payment processing into your app.
Full Demo at: stripeplayground.vercel.app

Stripe Checkout supports one-time payments, subscriptions, and a ton of different payment methods. Checkout works by first creating a checkout session which tells Stripe, and then redirecting to Stripe. The session you create tells Stripe what the customer is buying (by passing a Price ID or making product on the fly with price_data), how many they are ording (by passing quantity), how often (mode: 'payment' or mode: 'subscription'), where to send the customer on success or on cancel (success_url or cancel_url), and other optional fields like payment methods, customer id, metadata, and more!
Full list of parameters: stripe.com/docs/api/checkout/sessions/create

Each product is an object in the line_items array. Each item can have a name, description, and image that can be set ahead of time or on the fly. From the Stripe Dashboard, you can also setup recurring billing data, and upsells (for subscriptions), and cross-sells.