How to receive data from another server (like push notification)

When a user scans QR code in our web page and makes purchase with it (using a 3rd party application), I want to hide that QR code and process the purchase.

I got an API to check whether the transaction was successful or not. My first thought was sending a request to that API every 2 seconds to check the transaction (terrible idea?). But they told us to create something called a “hook” and they would subscribe to it. What’s that? How should I implement that?

Basically they are telling you to implement a service that they would call when a transaction ocurred successfully, instead of you going to them.

Hook may generally mean webhook, here is the wikipedia description.

Webhooks are “user-defined HTTP callbacks”. They are usually triggered
by some event, such as pushing code to a repository or a comment being
posted to a blog. When that event occurs, the source site makes an
HTTP request to the URI configured for the webhook.

Hook/Webhook

Think a hook as an endpoint, where a user can notify you / giving you information.

The way it work is like a user accessing a url and sending params

your-url.com/hook?order_id=123&status=complete
  • Warning: Example code, generally a good hook should provide authentication method.

That way your server can interpret that information as

order with id 123 has been completed

That was a basic implementation.

Other easier analogy is:

a user accessing a url and input a form and press submit. To which url the data is sent, that url can also be called hook.