Skip to content

emerchantpay review: Our Worst Nightmare

Summary: emerchantpay failed to capture almost all of our customers’ payments, resulting in thousands of dollars in losses and countless work hours spent contacting customers individually to partially recover these losses. Subsequently, they terminated our agreement without explanation when questioned.

We are Ultimate Gadget Laboratories Kft., a Hungarian company, and our website is UltimateHackingKeyboard.com. When we contacted emerchantpay, we were already using a payment processor that captured most transactions, but approximately 5% of transactions failed, so we were seeking a better alternative.

Upon contact, we received a quick reply from one of their employees, who became our eCommerce Sales Manager. He guided us through the application process and promptly addressed our questions. I thoroughly read their Terms of Service to understand all details.

On 2024-08-17, we began processing payments through them in our webshop, expecting the funds to be captured by emerchantpay and transferred to our bank account.

On 2024-08-27, my assistant Nóra noticed that the funds from webshop orders weren’t credited to our bank accounts. She emailed our manager but received only unhelpful responses.

On 2024-08-28, a customer complained about being unable to pay in our webshop. I observed the nonsensical error message from the emerchantpay WooCommerce plugin stating “Checkout payment error: Argument passed in valid format but makes no sense (e.g. incorrect country code or currency).” I immediately reverted to our previous payment processor and asked the customer to retry the purchase. He declined, resulting in a lost revenue of 611 EUR.

On 2024-09-02, Nóra noticed that webshop order funds weren’t credited to our bank accounts and emailed emerchantpay. They suggested manually capturing transactions via their Genesis merchant dashboard, which proved unintuitive, cumbersome, and extremely time-consuming to use, with an unnecessarily long 158-page user guide.

When attempting to capture payments this way, Nóra encountered the error message “Workflow ReferenceInvalidatedError: authorize timeframe expired?” When we asked for clarification, emerchantpay explained that the default authorization timeframe is 7 days. In other words, we needed to approve every transaction within 7 days of purchase; otherwise, they would be void. Nóra managed to capture only three transactions totaling 593.24 USD and 196.48 EUR. The rest, totaling many thousands of dollars and euros, were void.

This situation is absurd. emerchantpay had numerous opportunities to explain that transactions required explicit capture. They could have informed us during onboarding, when we started processing, or before the captures became void. Instead, we only discovered this when almost every capture was already void. Furthermore, no reasonable payment processor should expect their clients to approve every transaction individually.

I emailed our manager, detailed the situation, and asked him to find a solution. He replied with a courteous, wordy, and completely useless email stating that they can’t capture the transactions and even saying that the 7-day capture timeframe model is in favor of us because this way, we can void the transaction in 7 days when we have no stock or if the product hasn’t reached the consumer. This way, we can avoid fraud reports.

His explanation is unrealistic. Merchants like us don’t offer products for sale when out of stock. In worst-case scenarios, we issue refunds. Additionally, since we sell globally, some shipments take longer than 7 days despite our best efforts, making it counterproductive for captures to become void.

Our manager also said that he was unsure how this misunderstanding occurred. Let me help explain: it’s because emerchantpay failed to communicate it!

On 2024-09-20, emerchantpay emailed us: “With reference to Art. 15.7 (i) of the Terms and Conditions, Version 5, dated the 1st of August 2023 (“T&C”), we hereby officially notify you of our decision to terminate, with immediate effect, the Merchant Service Agreement signed on 31 March 2024 by and between Ultimate Gadget Laboratories Kft., eMerchantPay Ltd and E-Comprocessing.”

When I informed them that I couldn’t locate the referenced clause and inquired about their reasons for termination, they didn’t even bother to respond.

While most affected customers were willing to pay again, we remain thousands of dollars short, some of which we’ll never recover. In our experience, emerchantpay is not only a useless trainwreck; They pose a huge business risk. They failed to fulfill their primary purpose: capturing payments. They offered no solutions or remedies and demonstrated no accountability.

This review was originally published at https://ultimatehackingkeyboard.com/emerchantpay-review-our-worst-nightmare

Ditching GitHub Copilot and OpenAI

I see concerning actions by OpenAI that have made me cease supporting them.

I already posted about my experience with ChatGPT. Despite being a paid customer, the service was inaccessible, they didn’t provide customer support, and they temporarily made me unable to cancel my subscription. As a result, I switched to Claude, and I’ve been a happy customer ever since.

According to Business Insider’s article “Don’t ask OpenAI’s new model how it thinks’ unless you want to risk a ban“, things are going downhill at OpenAI. So, I switched to Cursor, using its Claude model instead of GitHub Copilot, which I canceled. Cursor is working great so far.

Void is yet another AI-centric Visual Studio Code fork, like Cursor. It’s especially promising given its support for a wide range of LLMs, including local ones. It’s early days, though, so I’m not switching yet.

I encourage everyone to hold companies, such as OpenAI, to certain standards and switch when these standards are not met.

Álom Játszótér: Így vertek át

Dióhéjban: Rendeltünk az Álom Játszótértől egy játszóteret, amelyet hiányosan teljesítettek. Konkrétan háromkiállású hinta helyett kétkiállású hintát kaptunk, homokozótetőt pedig nem kaptunk. A teljes összeget kifizettem, ők pedig megígérték, hogy visszafizetik a különbözetet, aztán kámforrá váltak. A Facebook üzenetemet válasz nélkül törölték.

És akkor kicsit részletesebben…

A feleségem játszóteret szeretett volna a gyermekeinknek, így talált rá az alomjatszoter.hu weboldalra. A Facebook oldalukon rendszeresen promotálják magukat.

A feleségem 2024. június 13-án írt nekik üzenetet, majd kérésükre átutalta a kért előleget.

Ezután június 14-én az utalás címzettjeként szereplő T. Géza felhívta a feleségemet egyeztetés végett, majd ő és kollégája kiszállították és összeszerelték udvarunkban a játszóteret. A helyszínen kifizettem a játszótér teljes árát.

Miután Géza és kollégája elmentek, a feleségem megérkezett és észrevette, hogy hiányos teljesítés történt, mert háromkiállású hinta helyett kétkiállású hintát kaptunk, homokozótetőt pedig nem kaptunk. Feleségem felhívta Gézát, aki azt mondta, hogy két héten belül visszautalják nekünk a többletet.

A visszautalás sosem történt meg, és innentől Géza semmilyen kommunikációs csatornán nem volt elérhető. A Facebook oldalukra is beírtam a hiányos teljesítés kapcsán, amely üzenetemet törölte válasz nélkül. Hab a tortán, hogy számlát se adtak.

Elérkeztünk rövid történetünk végéhez. Ki nem állhatom az ilyen eseteket, mert a Gézához hasonló gerinctelen suttyók miatt nem bíznak az emberek egymásban. Nem lett volna nagy érvágás neki, ha átutalja a különbözetet, de neki még ez az összeg is többet ér, mint a becsülete.

Mondanom sem kell, nem ajánlom az Álom Játszóteret. Sajnos alternatívát nem tudok ajánlani, de bárkit is választasz, azt javaslom, keress rá, hogy megbízható-e!

Working around Jabra’s power-saving

I use a Jabra Evolve2 85 headset, and after 10 seconds of no audio activity, its power-saving feature kicks in.

When power-saving is active, it can take a second or two for the audio to be audible, which is a big problem. If I get a short instant messenger notification, it goes unnoticed. If I start a video, I don’t hear the first few words.

Jabra’s Sound+ application doesn’t offer a way to disable power-saving. According to Jabra’s customer support, the following justifies this feature:

There is a purpose to this behavior, what you may consider a flaw, and that is to decrease BT radiation, preserve battery and help with density issues – in an office with tens of workers, it would be impossible for all employees to all use wireless devices if this feature was not turned on.

The delay is slightly greater via Bluetooth than with USB devices on the cable since the HFP Bluetooth profile used has a relatively high latency. This is usually not noticeable in communication and is used for integrated error correction, but is technically anchored in the Bluetooth standard, not in the product.

It’s not a good enough reason. To me, this is a major misfeature, and it should be possible to disable it. I wrote a script to keep the wireless audio connection alive and avoid delays, which I hope will be useful to others.

I can’t recommend Jabra products until they provide a related option and offer replacement batteries.

Block international calls on Android

Occasionally, I get foreign calls from our business partners, and I never pick them up because I don’t want them to interrupt my workflow. If they want to contact me, I expect them to email me.

I always wanted to automatically reject such international calls but never could. All the tutorials I could find suggested Android settings that my Android version didn’t support.

MacroDroid to the rescue!

That’s it! +36 is Hungary’s country number. Negating it blocks international calls.

MacroDroid is an extremely versatile tool that I highly recommend.

ChatGPT, we’re breaking up

I’ve witnessed the recent AI revolution with great awe and have been a ChatGPT Plus subscriber since the early days.

However, the service has been inaccessible for days recently, which shouldn’t ever be the case for a paying customer, and if it is, they should offer compensation.

Naturally, I wanted to contact customer support, but I discovered there was no customer support, only a help center. It’s a very frustrating experience, and I’m baffled that companies are allowed to operate this way.

Then, I wanted to unsubscribe, but to my shock, I couldn’t, as I was welcomed by their “ChatGPT is at capacity” page, disabling me from accessing my subscription page. Since unsubscription was impossible, I submitted a chargeback at my bank.

At this point, I felt trapped because I didn’t know about an alternative, similarly powerful language model. Luckily, there is: Claude‘s 3.5 Sonnet model is very capable, and I recommend it. I’m considering subscribing.

It’s unfortunate that ChatGPT forgot about its customers in the pursuit of showing off its latest tech. I won’t advocate them anymore and advise people to move to Claude.

Logitech is a mess

I wanted to adjust the speed of my Logitech G502 Hero mouse. Since Logitech doesn’t support Linux, I had to fire up my rarely used Windows laptop.

I searched for “Logitech configurator software”, which made me install Logi Options+. After installing it, I realized that it doesn’t support the G502.

Another search revealed that the Logitech G HUB software supports Logitech’s gaming gear, such as my G502, so I installed it. Then I realized that G HUB doesn’t save settings in the mouse’s onboard memory, which is a deal-breaker because even if I could run G HUB on Linux, I wouldn’t run a background app just for this purpose.

A third, longer search revealed a Logitech support article featuring their Logitech Gaming Software. I installed it, but a popup said that I should use the new and shiny G HUB instead, and it didn’t allow me to use Logitech Gaming Software.

Finally, I uninstalled G HUB, started up Logitech Gaming Software again, and this time, it worked. It saved the mouse speed to the onboard memory, just as I expected.

From a user standpoint, the above experience is inexcusable. Logitech should have one configurator that works on all OSes, and they shouldn’t rewrite or fork it whenever a manager comes up with a wonderful new idea, such as creating a new brand.

Sadly, I couldn’t find any good alternative to the G502. All manufacturers support Windows, some support Mac, but none support Linux.

To draw a stark contrast, the Agent configurator software of the Ultimate Hacking Keyboard supports Linux, Windows, and Mac. It does its job well and doesn’t have semi-working alternatives. As a bonus, we develop it the open on GitHub. I’m the development lead of Agent, we deeply care about it, and our customers love it.

LiPo battery finder

There are thousands of LiPo batteries, but I couldn’t find the ones that best fit my project, so I’ve created the LiPo battery finder, which allows you to filter batteries based on x, y, and z sizes.

My tool contains a scraper that extracts the pages and subpages of https://www.pdbattery.com/li-polymer-battery-cells-list.html and https://www.lipolbattery.com, creating an .mjs file as a result.

The .mjs file gets imported by the web application, allowing the scraped records to be searched interactively.

Easy KiCad PCB panelization with kicad-util

There are multiple panelizers available for KiCad, but only one is suitable for easily placing multiple oddly-shaped PCBs onto a panel: the kicad-util panelizer.

You simply place the PCBs next to each other and draw lines between them on the Eco1.User layer. Then run a kicad-util command, and voila! The lines are transformed into mouse-bites.

Unfortunately, kicad-util is not compatible with KiCad 6’s updated PCB format, so the drawn lines are no longer converted to mouse bites.

Luckily, a merge request contains the fix, but kicad-util’s creator is not available anymore. Although the contributor of the merge request created his fork, the .jar file has not been recompiled, so the fixed version is not easily accessible to most users.

Given the above, I recompiled the fixed kicad-util version with the mvn package command and made the .jar file available. I use it as:

java -jar ~/bin/kicadutil.jar pcb -f=myboard.kicad_pcb panel --inset=0 --hole=0.35 --pitch=0.7 --width=2.5 --fillet=1

Introducing the Ultimate Hacking Keyboard

I want to take this opportunity to reveal the trailer video for the Ultimate Hacking Keyboard, a high-end mechanical keyboard of which I’m the founder and lead developer. Our keyboard will be kickstarted soon, so please share it, follow us, and subscribe to our list to get notified when our campaign starts.