Open Payment Amount

Hey Everyone,
I have an e-commerce shop running very smoothly, with great general SnipCart integration. But I am running into a snag with 2 of my clients, and I assume there must be a way to handle this!

Both clients are non-profits. They need to take an open donation amount in the shopping cart. It looks like SnipCart will not authenticate payments if a “product” does not have a set price. I located some mentions of this kind of scenario here in the forum, but see no answers.

This seems like it would be a pretty common situation, so I assume there must be a standard way to handle “open” prices?


I would be interested in the same thing, but I don’t think it’s an easy solution. Perhaps some sort of PHP script that alters the source page on the server based on the user entry for cost? That way Snipcart could see the correct cost in the crawl. Not sure if that’s even possible, though! It would get screwey with a CDN as well.

Alternatively, you could just create a single product with multiple variants with different pricing. $100, $250, $500, $1000, etc.

Hi Billy,
Thanks for jumping in.

My current solution is to create what I call an “instant product.” Most of my products show a “Purchase” button that goes right into the shopping cart. But with donations, I have a preliminary form where they submit an amount. A PHP script creates a new “instant product” with the value submitted, and a URL, and the visitor then jumps to that instant product page/URL to complete the purchase.

This idea works, technically, but it creates a new problem – when the visitor clicks the “Continue Shopping” link, they end up back on the form page for the instant product, which is not where I want them to be!

In an older forum post, I saw some talk of a JavaScript solution, with a mention of a link illustrating it. But the link is not present. I’m talking about this post: Donations, dynamic price or "pay what you want" scenarios?

I’m finding it hard to believe that SnipCart does not have a way to do this. I mean, even PayPal allows this!