question

thoughtspacewebsites avatar image
thoughtspacewebsites asked David Marginian commented

A possible alternative way to handle refunds?

Ok, so the partial integration POS app I'm building is actually multi-faceted. There's a front end app that serves as the POS, but as there are multiple units in their store, it hooks up to a back end server to store all data (orders / products / etc). The back end I'm using is actually a WordPress website with WooCommerce. Essentially, I'm working on tying web sales in to the actual in store POS system so that everything uses a single, unified database.

So for Clover card payments, I'm using the JS cloud SDK on the POS app. the POS app handles all of the communication with the Clover device for processing payments, etc. It then sends the resulting transaction IDs off to the server to save and associate them with an order in our DB. I'm getting to the point of building in refund functionality, and I had an idea, just wanted to put it out there to the Clover devs to see if this would work...

So there will be instances where I need to handle manual refunds for arbitrary amounts, and I plan on wiring the POS up to handle this and then just send / save the refund ID on the server. The thing is, when I take payments for actual orders in my DB, however, I actually have an option to refund the payment from my website's administration area (WooCommerce). Now, I'm thinking that I could wire things up so that if a refund needs to be processed for an order, the website actually handles it with a REST API request instead of using the Clover SDK locally. This would make things much more seamless for me, allowing me to process refunds in a standardized way on both my POS app and my website back end.

My question primarily is, is there any problem with mix / matching the Clover cloud SDKs, and also using occasional Rest API calls? Will this affect the app certification process / timeline at all? Is this a frowned upon pattern in any way? Just want to make sure I'm on a decent track before commiting to anything here.

And also on a side note that maybe you can answer for me, what does the certification process look like for partial integrations that use the pay display app? Do these apps even need to go through a certification process, seeing as they don't actually install on the device, and they're just talking through a Clover built API? It's been hard to find info regarding timeline and requirements for remote pay SDK certifications (if required)

e-commerce apiRefundRemote Pay CloudCloud Pay Display
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Marginian avatar image
David Marginian answered

Semi integrations require approval, regardless of if the integration is running on a Clover device or not. You can read more about the process here - https://docs.clover.com/docs/semi-integration-process. It generally starts with you submitting the form and then us getting in touch with you to set up a discovery call (this may take a few weeks). Generally app approval takes 6-8 weeks. You can contact devrel to double check this. Yes, you can use our ECommerce API to refund a payment taken card present via your semi integration (I don't anticipate this would affect your approval) - https://docs.clover.com/docs/ecommerce-refunding-payments.

10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

thoughtspacewebsites avatar image
thoughtspacewebsites answered thoughtspacewebsites commented

Alright, next question on the semi integration front though.... Right now, since all functionality is on my POS app and it just stores data to the server for later retrieval, I assumed I could just submit my packaged .exe installer for my POS app for approval. If, however, I use my server to issue refunds, will I then need to also submit the code that drives the server? I see that the payment test videos only include payments and not refunds, so if I'm only handling refunds on server through the Rest API and not payments through Clover, maybe it doesn't matter anyway and I wouldn't need to submit it regardless? Thoughts here?

2 comments
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

You don't actually submit your code to us. We will verify payment flows (via video etc.) but we don't analyze your code.
0 Likes 0 ·
thoughtspacewebsites avatar image thoughtspacewebsites David Marginian ♦♦ ·
Ah, ok. the docs mentioned submission for the app, but I guess that's for on-device Clover integrations. Thanks for the clarification.

So should I go ahead and submit the form now? I'm probably 40-50% done with my integration, and I still have other portions of the app not related to the Clover device to build afterwards, but if it takes a few weeks to get a meeting scheduled, I'm thinking I can just go ahead and submit the form now as I'll definitely have my integration done within a few weeks.


0 Likes 0 ·
David Marginian avatar image
David Marginian answered David Marginian commented

You need to create a Clover app and submit it, but that doesn't mean you need to submit your source code. I would submit the form now.

2 comments
10 |2000 characters needed characters left characters exceeded

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Looking into this form now, how exactly do I go about filling it out? I run a web / app development company, and I was hired by a local business to build a custom POS solution for their store. The app I'm building is for their specific purposes, and won't be distributed at all. Looking at this application, I was inclined to believe I should be filling it out with my own company info (Thought Space Designs), however there are a few questions that threw me off, such as expected monthly processing volume, and merchant category code. Personally, my company won't be processing any sales, but my client (Oakmont Bakery) will. Also, merchant category code is drastically different for the two of us and since it affects processing rates, I would assume it should be my client's info. This is contradicted though by questions further down like "how many terminals do you need for merchants". That wouldn't apply to a small business that hired an outside dev company. Should I be filling this out as if I'm an employee of Oakmont, representing them (IE company name of Oakmont Bakery) or with my personal company info (Thought Space)?
0 Likes 0 ·

Contact developer relations and ask them these questions.

0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Welcome to the
Clover Developer Community