Snipcart does support donations or “pay what you want” scenarios. However, to make our order validation work, you will have to:
- Set the price of your products dynamically via custom JavaScript code on your page.
- Set the URL of your product dynamically to a custom backend endpoint including the user-defined price in its route (using a query parameter for example).
- From this endpoint, dynamically return HTML or JSON markup that generates the correct price. See the order validation documentation linked above for details.
Here is a more hands-on tutorial including this precise use case