You can either do it through the Stripe dashboard by creating a Payment Link with a "Customer chooses what to pay" type or through the API (see https://docs.stripe.com/payment-links/api).
"Wow! 50M hours a day of time saved seems like a lot. How could they be evil if they're getting people to spend less time on FB?"
50M hours / 1.5B DAU is about .03 hours, or about <2 minutes per person. The average person spends 1h15m on FB, this is less than a 3% drop in overall time, but likely a larger proportion of that time is spent scrolling and seeing more ads than it is fixed on a single video.
This reminds me of the “free iTunes song” promotion Apple and Pepsi ran in ~2005. Some Pepsi bottles had codes under the bottle cap that could be redeemed for a free song; non-winning caps just said “Sorry Try Again”.
You still had to buy the soda to get the free song, but if you’re going to drink soda anyway, spending a minute or two picking a bottle with a free song gave you a nice little bonus.
I'm still waiting for a USB-C charger with more than two ports. Until then, I'm sticking with USB-A cables for everything except my MacBook Pro. For travel (where outlets are often at a premium), I use a four port USB-A charger on a nightstand to charge 2 iPhones and an Apple Watch (this one: https://www.amazon.com/Anker-Charger-Foldable-PowerPort-Sams...).