4

We would like clients to be able to pay their invoices online, in a single page checkout. The form would collect the Customer name, email, invoice #, amount, and all the Credit Card info needed to send to authorize.net. In reviewing Expresso Store documentation, it isn't clear to us how to let the customer set the amount.

3 Answers 3

4

There is a setting for this within the Expresso store field settings. When adding your channel field select "Yes" to dynamic pricing.

2
  • Thanks Nick. I see the mention of dynamic product variables in the documentation for the product tag. I grasp the concept but am not sure how one would set up product modifier options.
    – hfrancke
    Feb 21, 2014 at 17:05
  • Note that dynamic product pricing is different to product modifiers. You can have dynamic prices and still only have a single product with no options, which would allow the customer to specify the amount. Mar 6, 2014 at 1:17
2

I reached out to Exo:resso based on the suggestion that dynamic Prices was how to allow users to set the price and thereby the invoice amount. This was their answer…


You're on the right track. Dynamic prices are the way to go and allow the user to enter in their own amount for the purchase. When setting this up you apply this to the Channel when you add the Store Product Details field type so I'd make sure your invoices are setup to be in their own Channel. Then when you add the Store Product Details field to the Channel Field Group you'll see the "Field Options" table at the bottom (screenshot attached). Set "Enable Dynamic Prices" to "Yes".

Then when you setup the templates you just need to make sure you add a "price" and "item_qty" field to the Product Form tag:

The "value" will be submitted by the user. Store always needs an item_qty field though so make sure you include it. Keep it hidden, as above, if you don't want to display this on the front-end.

Hope that helps.

2
  • 1
    You wouldn't be able to post the template code you used to achieve this would you?
    – Tyssen
    Sep 23, 2014 at 5:59
  • With this method, do I need to create just one single 'product' in that channel? And if so, what do I set the 'price' value to in that product entry? Feb 11, 2015 at 20:56
0

I think you would need some AJAX to make it work all on one page, as there are two steps, the add to cart and the checkout.

Store doesn't allow users to input prices directly, but other users have reported setting up a product that is $1 and allowing the customer to set the quantity (labeled as amount) to set the number of dollars for the invoice.

4
  • Thank you. I found a few mentions of that technique: bit.ly/1edQqgK and bit.ly/1fhvnjj
    – hfrancke
    Feb 21, 2014 at 16:57
  • 2
    This applies to Store v1, but in Store v2 you can allow products to have a dynamic price specified by the user. It has to be enabled first, on a per-channel basis. Mar 6, 2014 at 1:16
  • 1
    Also note that in Store v2, the add to cart and checkout actions are one and the same, so it's possible to both add a product to the cart and pay for it at the same time. Mar 6, 2014 at 1:18
  • @AdrianMacneil Can you elaborate on how add-to-cart and checkout can be combined? Thanks! Feb 11, 2015 at 21:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.