Author

Topic: The Best Way For Accepting Crypto Payments Ever [ZeroCyptoPay] (Read 55 times)

newbie
Activity: 5
Merit: 0
How do you accept payment in crypto now?

Probably by using the method from the scheme below.

Client -> 3rd party payment provider -> You

First, clients send their funds to an address generated and operated by some of the third-party providers. Then, you can see the transaction on your payment provider dashboard. After you want to make a withdrawal, you create a request and wait for your funds to be transferred to your address.

Well, this works, but it's not what crypto is about. The purpose of crypto is no more middlemen anymore. When you use a 3rd party payment provider, this is nothing other than a middleman. Middleman = no guarantees. It's not only about high commission. Because before you get your funds, they have to be transferred twice. The first commission will be paid by your client, the second by you to transfer it from the 3rd party payment provider to your address. And we should also keep in mind that your funds can be frozen or blocked, and you won't have many options on how to deal with that.

---

The Brand New Solution

Approximately half a year ago, we found a service called usdtchecker.link. The purpose of the service was very simple: tracking events, such as incoming transactions in your TRC20 address. Take a look at the new scheme.

Client -> You

This is how the process of accepting crypto payments changed with this service. Now, your clients send their funds directly to your address. No middleman needed. Only you own your funds. You don't need to pay high commissions for transfers or be afraid of blocking your funds.

But usdtchecker.link had one issue. It supported just one token, which is not really very popular.

After some time, we decided to check the service again to see if there were any updates. And we weren't surprised when the site wasn't opening. It didn't work. We thought that probably the service was closed. After some more time, we checked the site's availability again. And now it redirected to a new domain, zerocryptopay.com. Our first reaction was that somebody else could have bought this domain and used it for redirecting to another service. But we were wrong about it. After we checked whois and based on some other facts, we concluded that this service is a new version of usdtchecker.link but much more powerful. The new service is called Zerocryptopay. They have started supporting 8 crypto coins at the moment, instead of 1.

Take a look at how Zerocryptopay works.

You create an account -> set your addresses -> get ready to accept payments!

When your client chooses crypto as a payment method, you make a request to their API and get a payment link you should redirect your client to. The client will send funds directly to your address, which you set in the dashboard. After the invoice has been paid, your server receives a callback with invoice details.

We believe this is a new era of accepting crypto payments. In our opinion, this is the most optimal way to use all the advantages of cryptocurrency. Lower commission, more control, no middleman.

Let's talk about some points you should pay attention to:

* If this service is hacked, intruders may change your addresses with their addresses. This means that after you redirect your client to the payment link, the funds they sent won't be received by you.

* When you create an invoice, you can't set the exact amount in cryptocurrency. You need to set the amount in USD. Actually, this is even better in some cases, but we would like to have more control over conversion.

* Probably, you will need to redirect your client to the payment page every time. Some services that support transaction forwarding mechanisms do not require you to redirect your client to external sources. You make an API request and get an address your client should send their funds to. At our first check, it might not be possible to just create an invoice via their API and not redirect your client to a payment page provided by the service. And the reason why we think so is below.

* We call it the amount issue. For example, you sell a product that costs $20. Customer A wants to buy it and creates an order. Because you need to pass an amount in USD, let's imagine that Zerocryptopay will convert this to 0.00095 BTC. You redirect the customer to a payment page. He is preparing to pay. The invoice lifetime is 20 minutes at this moment. 5 minutes later, customer B wants to buy the same product, and Zerocryptopay converts the amount in USD to the same 0.00095 BTC. And at this time, the first customer sends a transaction to pay this invoice. What's the problem? We have two invoices with the same amount to pay that go to one address. How will Zerocryptopay understand that this transaction was made by customer A, not B? The customer B transaction was created later, which means the service can think that the customer B paid for it, while it was the customer A. None of the invoices have expired, both of them have the same amount to pay. This may cause a problem. The owner of the service stated us that the service can solve such situations, but we didn't conduct our own experiment, so we can't either confirm or deny this statement. But if this is true and the service can indeed solve this, we think it can be related to the page customers should be redirected to after an invoice is created. This is not actually such a big problem because we see a simple solution here. Zerocryptopay or any other similar service can track their transaction amounts, and if there is a transaction with the same amount, the other transaction can get a different float. For example, the first transaction amount is 0.005 BTC. When the system gets a transaction with the same amount, the amount for the second transaction can be changed from 0.005 to 0.0051 BTC. But of course, this is not a golden bullet. There will be an issue if some of the clients send not the full amount. For example, 0.004 instead of 0.005 BTC.

As you can see, there are its own advantages and disadvantages, but we still believe that this way is the best way for accepting crypto payments.

We want to support Zerocryptopay; that's why we created an NPM library for NodeJS for convenient work with their API. It has a MIT license and is fully open-source.

Links:

NPM - https://www.npmjs.com/package/zerocryptopay
GitHub - https://github.com/Altmaer/zerocryptopay

Thank you for reading this article. Write in the comment section what do you think about it.

Always yours, the Altmaer team.
Jump to: