We are building a Shopify sales channel that requires checkout to be delayed by 12hours-24hours.
At the end of this time, they will be charged for the current product price, with any discounts earned over that time period applied. We are building our checkout with Stripe and have access to the Billing/Payment API. Has anyone had experience with doing something like this? Or who could offer some developer advice?
It is important that they aren't charged immediately, because during that time period there are ways they can reduce the price up to 10% discount (Lower/Higher depending on merchant settings).
Alternatively, is there something within the billing/checkout API that allows us to refund a small portion of the purchase, equal to what they would've saved from the discounted price? This reduces the need for a delayed transaction entirely.
It is possible to do this in your checkout settings. In your Shopify admin if you navigate to settings > payments you will see a section at the bottom called "Payment capture." Select the "Manually capture payment for orders." option and then click "Save." If you choose this option you will need to capture each individual order manually and you have a seven day authorization period to do so (if you are using Shopify Payments). Here is Shopify's documentation on capturing payments with instructions on how to do it manually.
If you don't want to manually capture each order you receive you can try third-party apps like Charge Me Later which offers a free trial.
Thanks so much for the reply.
As we are making our own sales channel app, using a 3rd party app is not an option, and we will need this to be automatic.
I did discover you can do partial refunds via the Orders or Billing API, which could potentially achieve the same result and be better overall for the vendor as it secures all purchases from the start, and refunds the discount amount at the end of the time period instead.
I have built this functionality with the stripe API directly, but doing this as a Shopify app has added complications etc, I am currently researching how using different PCI compliant payment providers work within Shopify, and depending on that, might be able to use my existing implementation.
Thanks again for your response.