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.
Sending the customer
Section titled “Sending the customer”- Redirect to
checkout_urlexactly 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).
Languages
Section titled “Languages”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 |
What the customer sees
Section titled “What the customer sees”- 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.
Coming back to your site
Section titled “Coming back to your site”| 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. |