Skip to content
FanakDocs
WebsiteDashboard

Integrate

Hosted checkout

The page at checkout_url where the customer pays, and how they come back.

Customers pay on Fanak’s page: your site never handles card details or one-time codes.

  • Redirect to checkout_url exactly as returned; don’t build it.
  • Full page or new tab. It refuses to load in an <iframe>.
  • Valid for the intent’s whole life: it always shows the current state (pay, in progress, receipt, expired).

Arabic by default, whatever the browser says. The customer can switch on the page for the visit.

URL Language
checkout_url Arabic
checkout_url + ?lang=en English
checkout_url + ?lang=ar Arabic
  • Amount, your description, your organization’s and application’s names.
  • Your application’s enabled methods: bank card, Edfali, MobiCash.
  • Card: the provider’s payment window.
  • Wallet: details, then the texted code. 3 tries per code; a new code on request.
  • Failed try: the reason; retry with any method.
  • Unclear provider answer: “being confirmed”; the intent stays processing.
Outcome With return_url Without
Paid Receipt, then redirect after a few seconds (or button) Receipt
Expired Notice with a link back Notice

Fanak adds nothing to return_url. Put your order ID in it: https://shop.example.com/orders/1042/return.

Re-fetched status Show
succeeded Paid.
processing Being confirmed; you’ll let them know. Not a failure.
requires_payment_method Not paid; offer checkout_url again.