Hi,
Some payment gateways allow you to get a payment in two steps:
- first step, your customer goes on the payment page of the payment gateway and pays normally a certain amount and the payment amount is "authorized" by the bank but not yet transfered to your merchant account.
- second step, you go in your merchant account and "capture" the transaction, at which point the money goes in your merchant account. On that step, it's sometimes possible to specify the amount to capture so that you can adjust the amount you receive from the customer.
So that sounds adapted to your needs.
I know that authorize.net (which is supported by HikaShop) supports the authorization/partial capture process described above. I suppose many other payment gateways do. You'll have to see which one do to select your payment gateway.
Then, in HikaShop you have the customer charge a bigger amount than what is usual for the products and have him pay his order before you do it, and then you can adjust the amount you get after you get the groceries.