afunderburgh avatar image
afunderburgh asked pjb commented

Testing in Sandbox Is Impossible

I have been tried to set up the most simple "web app" possible: one web hook. I only want one active web hook. I have the webhook url verified, but it is turning out to be impossible to test this web hook in the sandbox because of numerous bugs and broken clover configurations.

  1. The first thing I tried was setting up an emulator to run Clover Mini to trigger a payment to test the web hook. The instructions in do not work. Specifically when you get to the important part, installing the clover apps. The python script mentioned in the docs is labelled as "needing Python 3.6" but the script on github is a Python 2 script. (it was even uploaded a few months ago....) After fixing the script so it will run, it fails when it tries to query the appinfo.db file from Android. Turns out the db is completely empty. No rows, no tables, nothing. This is a dead end, the documentation does not explain what apps you need to install so there is no way to move forward here.
  2. Okay, since the emulator is out of the question, I can test the web hook by making an API request, right? Well no, the UI on the sandbox is broken. If you go to a merchant account then try to generate an API token you cannot get to the API token page. Clicking on it shows you a popup that says "Enable Two Factor Authentication". If you click Enable it redirects you to the business information page... The Two Factor Authentication is set up on the Account Settings page, but thats not too big of a deal... until you realize you do have it enabled. So there is no way to generate new api tokens for your merchant in the sandbox. So there is no way to hit the API.

These roadblocks plus the fact that once development is done you need to wait 6 months+ to get your "app" verified makes you think Clover doesn't want people developing apps for their system. I just want one web hook for my POS I have in my store, why are there so many hoops for such a simple request? No other POS system makes you do such a ridiculous process. I don't want my app to be available to other people..

REST APIAPI TokenEmulator
10 |2000

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

1 Answer

David Marginian avatar image
David Marginian Deactivated answered pjb commented

You seem quite frustrated, I wish you would have reached out for help here earlier. Testing a payment webhook in sandbox is certainly very possible. I have done it many, many times. So that I am clear, you are trying to create a merchant token so that you can use our ecomm API to take a payment, with the end goal being to test the payment webhook, correct?

1. Many developers use the emulator. However, the emulator cannot be used to run a payment so the difficulties you are experiencing are really a moot point.

2. I will take a look at this, I have created merchant tokens in sandbox quite recently and didn't experience any problems.

I'm curious have you reached out to anyone at Clover ( about the app requirements? As a merchant I would expect we could expedite this process for you and make the app only available to you.

10 |2000

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

afunderburgh avatar image afunderburgh commented ·

If you can't make a payment then what is the official way to test a web hook? I would like to test the workflow from receiving a payment at my POS then receiving the web hook notification. I can settle for just mimicking this workflow by using the Rest API but the sandbox page to generate APIs now just gets stuck on the clover loading icon, the other pages under Setup load fine.

Thank you for the information about expediting the process. I did not see anything in the documentation about the ability to have a "private" app like that so it is conforming to hear that is an option.

0 Likes 0 ·
David Marginian avatar image David Marginian ♦♦ afunderburgh commented ·

You can, of course, make a payment in sandbox and you do not need a merchant token to do so. I have used merchant tokens without issue (so I am curious about the problems you are experiencing) but you can also use your app.

1) Modify your app to have the "Enable online payments" permission (from the developer dashboard, App Settings -> Requested Permissions).

2) Add REST configuration to your app. Since this is just for testing the url doesn't even need to work (you can just use http://localhost).

3) Set the Default OAuth Response to Token (testing only).

4) Install your app for your test merchant (you would need to do this for the webhook anyway) - instructions here -

5) From your developer dashboard select your app (should be in the left hand nav after installing). We will try to redirect to your app (which won't work because you have a bogus url) but you should still be able to pull the access_token from the url bar in the browser.

6) Once you have the access token you can obtain a PAKMS key -

7) Use this codepen to tokenize the card - (note - you will need to replace Clover('a2c04bd36719c1ae6867d9f978f7cefa') with your PAKM key. Refresh the page and then enter credit card information, the tokenized card will be alerted when submitted.

8) Perform a charge with the tokenized card -

0 Likes 0 ·
pjb avatar image pjb David Marginian ♦♦ commented ·

Hi David, Thanks for this feedback.

For #7, what should I enter into the credit card form? Here is what I entered:


I then received this code:


Placed that code into the "source" field of the createcharge api, and received the following response:


"500 Internal Server Error"




"This type of card cannot be processed on your merchant account. Please contact support if you believe this to be in error."


, Or do I need to enter a valid CC #?


0 Likes 0 ·
1617222829616.png (48.5 KiB)
Show more comments

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