I'm just now dealing with canceling service with a traditional merchant account (I switched completely over to Stripe back in August), and the experience has been terrible and stupid.
Around 2003 or 2004, I was working on my first startup. I signed up for an authorize.net account through a merchant account called Capital Merchant Systems (later acquired by EVO Payments). At the time, the process required filling out a pile of paperwork, including writing an actual cover letter to get approved.
Things were fine until recent years, business for this particular service had slowly dropped to the point where it was no longer feasible to run through authorize.net. So I decided to finally make the switch over to Stripe (which I'd used for a number of years on another project).
Signing up for Stripe is so painlessly easy, straightforward, and friendly.
After switching my system over, I called and emailed my merchant account to cancel (this was in August). Then I called and emailed again in November. Then I called and emailed again in January.
All the while, they've been withdrawing from my checking account.
Then I emailed again in April, and filed reports with the BBB and FTC. Only then have I heard back from them, and they're claiming my January request is the first request.
So the short of it is, use Stripe. They are amazing, open, and transparent, their API is a joy to work with, and their dashboard is great. I wish Stripe was around 16 years ago when I first got started processing payments.
And DO NOT, under any circumstances, use EVO Payments. Cancelling with them is like cancelling a shitty gym membership - at the end of the day, you'll have to file complaints with every 3-letter organization you can think of, and file transaction disputes to cancel your account.