Solved

How can I Authorize now & Capture later the payment for orders which are processed by my app using S

zerrick
Shopify Partner
16 0 5

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?

Accepted Solution (1)
Kevin_A
Shopify Staff
318 42 61

This is an accepted solution.

Hey @zerrick 

Based on our public app requirements, it sounds like what you are describing might violate number 6, and potentially number 8. 

Kevin_A | Solutions Engineer @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

View solution in original post

Replies 7 (7)

Kevin_A
Shopify Staff
318 42 61

Hey @zerrick 

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 | Solutions Engineer @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

zerrick
Shopify Partner
16 0 5

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.

Kevin_A
Shopify Staff
318 42 61

This is an accepted solution.

Hey @zerrick 

Based on our public app requirements, it sounds like what you are describing might violate number 6, and potentially number 8. 

Kevin_A | Solutions Engineer @ Shopify 
 - Was my reply helpful? Click Like to let me know! 
 - Was your question answered? Mark it as an Accepted Solution
 - To learn more visit Shopify.dev or the Shopify Web Design and Development Blog

zerrick
Shopify Partner
16 0 5

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:

  1. Create our app as a sales channel app
  2. To purchase a product using our app, upon clicking a special button on the merchant website's product detail page (separate from the Add to Cart button which will remain on the page), we will direct shoppers to our website (our domain in a separate tab) to checkout.
  3. Use Shopify's Admin REST API / Checkout API or Storefront API.

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.

zerrick
Shopify Partner
16 0 5

Thank you @Kevin_A . I got my questions answered.

policenauts
Shopify Partner
206 10 66

Hi @zerrick can you share if the approach you laid out below is acceptable? Thank you.

In order to enable automated Authorize now and Capture later at checkout, below is the approach we plan to take:

  1. Create our app as a sales channel app
  2. To purchase a product using our app, upon clicking a special button on the merchant website's product detail page (separate from the Add to Cart button which will remain on the page), we will direct shoppers to our website (our domain in a separate tab) to checkout.
  3. Use Shopify's Admin REST API / Checkout API or Storefront API.

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.



 

zerrick
Shopify Partner
16 0 5

Yes @policenauts , based on my follow-up dialogue with Shopify, this approach is acceptable. Hope this helps.