Mo Tawfik Khalifa · Product leader and builder
All notes

How to accept InstaPay on your website and confirm payments automatically

7 min read · Mo Tawfik Khalifa
Try it below

To accept InstaPay on a website, show each order an exact amount and your InstaPay address, let the customer pay from their own bank app, then confirm it from your bank’s “money in” text. Forward that text to a small matcher that marks the order paid when the amount and one more sign agree.

That is worth getting right, because InstaPay is now how a large part of Egypt pays. By the end of Q2 2026, Egypt’s Instant Payment Network had nearly 22 million registered customers and 1.47 billion processed transactions worth around EGP 4.33 trillion, according to the Central Bank of Egypt.

I built InstaPlug, my own product that does this confirmation for any website, app or AI agent. The same matching runs a dog club’s bookings. Here is how it works, and what happens when customers do the unexpected.

What is InstaPay?

InstaPay is Egypt’s instant payment app. It runs on the Instant Payment Network, a national network linking all banks operating in Egypt, which the Central Bank of Egypt launched on 22 March 2022. The app is published by the Egyptian Banks Company.

The facts that matter for a business, from InstaPay’s own site and the CBE:

Is there an InstaPay API for websites?

Not one you can sign up for as a merchant. I could not find a public merchant API on instapay.eg or on the CBE’s network page. That leaves two routes.

  1. A licensed payment provider. Some Egyptian payment companies offer InstaPay inside their checkout. Kashier, for example, lists a QR code or request to pay over InstaPay. You sign up as a merchant, the provider sits in the middle, and you pay its fee.
  2. Your own account, confirmed by your bank. The customer sends money straight to your account, as they would to anyone. Your bank already tells you when it lands, by text message. You turn that text into an automatic confirmation.

InstaPlug takes the second route. Nobody sits in the middle and there is no fee on top of InstaPay’s own. One limit I hit in testing: an InstaPay payment link opens the app with your details filled in, but not the amount, so the customer types the amount themselves. That is why the matching has to be careful.

How does automatic InstaPay confirmation work?

Five steps, from order to “Paid”.

  1. Create the payment. Your website, your dashboard or an AI agent creates a payment for the price. The customer gets a pay page with the exact amount, copy buttons, your InstaPay number and, on a computer, a QR code to pay from their phone.
  2. The customer pays from their own bank app. They send the amount by InstaPay to your number or address.
  3. Your bank texts your phone. The phone that gets your account’s alerts forwards the incoming-transfer text to your server. On an iPhone that is one Shortcuts automation. On Android, any text-forwarding app that can post to a web address.
  4. The matcher reads the text. It pulls out the amount, the payer’s name and the bank’s reference. Today it reads the Arabic texts from CIB, NBE, Banque du Caire and Banque Misr. Money going out, card withdrawals and one-time codes are ignored.
  5. It marks the order paid, once. The pay page turns to “Paid” by itself and your shop gets a signed webhook, so your own system can ship the order or confirm the booking.

Why one amount is not enough

Customers pay the real price by default, because most shops sell at fixed prices. But a friend might send you exactly EGP 750 for something else on the same afternoon. So the exact amount alone never marks an order paid. One of three second signs has to agree:

If no sign agrees, the text waits on a check list for a person. It never pays the wrong order on a guess.

What happens when something goes wrong?

Most of the work is in the edge cases. In short:

Try each one below, with unique amounts on and off.

Try itOrders wait for their exact amount. Bank texts arrive. Watch the matcher pair them, then try to trip it up.

Pick what happens

Off: every order asks its real price, and a second sign has to agree.

Waiting for the first text.

Open orders

Check list

Nothing waiting for a person.

What the matcher checked

  1. ...Pick a scenario above.

Example orders and texts. Real bank texts are in Arabic, shown here in English. The rules are the ones my product runs.

Can a screenshot prove an InstaPay payment?

No. A screenshot is easy to fake, and a pending transfer can still be rejected. InstaPlug has a “did it arrive?” check for shop counters: the staff snap the customer’s screenshot, it is read on the device without uploading, and checked against the bank texts that really arrived. Each text can vouch for one screenshot only, so the same payment cannot be shown twice. The answer is never “fake”, because texts can be late. Your bank app is the final word.

What do you need to set it up?

Personal money into the same account stays private: only amounts close to an open order are kept, and only exact ones mark anything paid. Check your bank app now and then, since a text is a notification, not a statement.

The same server can also serve a talking counter screen for shops, staff alerts that never show the balance, and tools for AI agents to create a payment link and check whether it is paid. None of those tools can move money, the same rule I hold to in the guard I built for AI coding agents and in my MCP security checklist.

Questions people ask

Does InstaPay have an API for websites?

There is no public merchant API on InstaPay’s own site. You either go through a licensed payment provider that offers InstaPay in its checkout, or receive into your own account and confirm from your bank’s incoming-transfer texts.

Do I need a payment gateway integration to accept InstaPay?

Only if you want a provider in the middle. A payment gateway integration with a licensed provider that offers InstaPay in its checkout, such as Kashier’s QR code or request to pay, confirms each payment for you, for a fee. Without one, the money lands in your own account, a matcher confirms it from your bank’s texts, and your shop gets a signed webhook. That second route is the one InstaPlug takes.

Can InstaPay payments be confirmed automatically?

Yes. Forward your bank’s “money in” text to a matcher. It marks the order paid when the exact amount matches and a second sign agrees: the payer’s name, the customer tapping pay in the last 30 minutes, or a unique amount.

What is the InstaPay limit for one transaction?

EGP 70,000 per transaction, EGP 120,000 a day and EGP 400,000 a month, per bank registered in the app, according to InstaPay and the Central Bank of Egypt.

Does InstaPay charge fees?

Since 1 April 2025, transfers cost 0.1% of the amount, at least EGP 0.50 and at most EGP 20. Balance checks and mini-statements are EGP 0.50 each, with 10 free a month.

What if two customers pay the same amount?

Each payment needs a second sign: the payer’s name, a recent tap on the pay page, or a unique amount. If none fits, it waits for a person instead of paying the wrong order.

Is a screenshot proof of payment?

No. Only the money arriving in your account is proof. Check the screenshot against the bank texts that really arrived, and treat your bank app as final.

If you want InstaPay payments, bookings or a loyalty card wired into your business, see booking and loyalty systems or write to m@tawfik.tv.

Read next

See all notes