User-determined price for a product variant? Is there a way in Craft Commerce 2 to have a user-input price as a product variant? In my case, I'm offering several pre-set amounts for a donation product (each is a variant), but I also want to offer a "custom amount" option.

Is there a native way to do this? Or a way I can accomplish this with a plugin action?
Here's how you could accomplish this.

1) Create a product variant called 'custom amount' with a zero price.

2) Get the ID of that variant

3) When submitting/adding/updating the item to the cart make sure to post an 'amount' line item option. For docs on that see: https://docs.craftcms.com/commerce/v2/adding-to-and-updating-the-cart.html#line-item-options-and-notes

3) Create a plugin/module that attaches this listener:

Event::on(LineItems::class, LineItems::EVENT_POPULATE_LINE_ITEM, function(LineItemEvent $event) {
    $lineItem = $event-&gt;lineItem;
    $purchasable = $lineItem-&gt;getPurchasable();
    if($purchasable &amp;&amp; $purchasable-&gt;id = ID_OF_VARIANT_HERE)
    {
        $amount = $lineItem-&gt;options['amount'] ?? 0;
        if($amount)
        {
            $lineItem-&gt;price = $amount;
            $lineItem-&gt;salePrice = $amount;
        }
    }
});


This will set the price to the price of the line item option 'amount' that is submitted.