You're right, I mean a static site -- one that cannot run a server side script.
At its most basic level, you can pay me by going to PayPal and telling them to send money to my account. PP takes your credit card info. I get an e-mail, and my PP account shows a log of transactions. Then I click on "create shipping label," and it creates a shipping label (USPS or UPS) to the customer's address.
At a slightly higher level, PP will generate a "add to cart" button in the form of HTML that you paste into your web page. But it does the same thing as sending money to my account -- it just looks a bit more professional and maybe less confusing.
This is for a gadget, but for enthusiasts in an area where people are not typically tech savvy, and don't feel put off by a site that doesn't look professionally maintained.
Edit: I should note that despite seeming sketchy, a lot of trust is built into PP's buyer and seller protection policies. If I try to screw around with you in any way, PayPal will happily reverse the transaction.
And they will also happily reverse the transaction if you don't.
No lambda, backend, or database necessary.
You also mention a passive web page, if you're talking about a static site (as in a jekyll or hugo site hosted on S3), you may be right. I don't fully understand how that might work since if you're accepting payment for a service, presumably you also need to keep state somewhere to track the delivery of that service to users and such. But if you did want to accept Stripe on a static site, I would think you could use Lambda functions in AWS to handle the callbacks without worrying about the maintenance costs and security risks of running your own linux server.