I am building an app which allows shoppers to buy product on the Shopify store through my app which will use Shopify checkout. The app will be installed by a Shopify merchant and it will use Shopify checkout for payment. I want to 1st authorize the payment and later capture payment for orders purchased using my app. Other order payments (not purchased using my app) will process normally as per the Shopify merchant payment setting.
I found a global way where the seller can choose the manual and automatic capture payment option from the admin UI but I am looking for an option where I can pass some option in the invoice URL which will generate by draft order API to authorize the payment first and capture the payment after some time. Does anyone have any suggestions?
Solved! Go to the solution
If you have set automatic capture as the global option in the admin, there doesn't appear to be a way to override this. The alternative could be to globally set manual capture, and use your app to "auto" capture any orders that aren't made through your app immediately. Something along the lines of receiving a webhook for order creation, confirming if the order is one you want to capture immediately, and then creating a transaction of kind "capture" for that order.
Kevin_A | Developer Support @ Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Click Accept as Solution
Thanks for the reply @Kevin_A
In order to enable automated credit card authorization now and capture later, I understand that we must use Checkout API as a sales channel app. I only have 1 question, which is not so much a technical question but a question re: acceptability for the Shopify App Store. I want to ensure it doesn't violate your App Store rules.
When a shopper visits a merchant's website (NOT our marketplace) and desires to purchase a product that the merchant has listed as a promo product on our app, can we use the Checkout API to enable a purchase of the promo product using automated authorization now and capture later? Similar to the Buy It Now button, our app would display a separate button from the Add to Cart button on the product detail page to initiate the purchase of the promo product. Products on the merchant's website purchased without the aid of our app would use the merchant's normal Shopify web checkout. Our app would only use the Checkout API to enable the shopper to purchase a promo product and receive the promo benefit.
I expect that demands on you & your colleagues have changed considerably during this pandemic, but if you’re unable to answer the question, please direct me to someone I could have a short call or chat with. Thank you in advance for your assistance.
This is an accepted solution.
Thanks once again @Kevin_A
In order to enable automated Authorize now and Capture later at checkout, below is the approach we plan to take:
Of course, we plan to adhere to all of Shopify's public app requirements, including numbers 6 & 8 that you mentioned previously. Please confirm that our approach would not violate rules number 5.5 ("Your app must not alter or modify Shopify's checkout."), number 6 or number 8.