> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ofatoura.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuring Payment Methods and Gateways

> Set up online payment gateways, cash, QR, and custom offline payment methods in the oFatoura web admin so your team can accept every payment type your customers need.

Payment settings control which methods appear at checkout — both in the web POS and on the ePOS waiter app. You can enable international card gateways with test and live modes, turn on cash or QR payments, and define your own custom offline methods such as bank transfer or cheque.

<Note>
  You need the **Manage Settings** permission (typically the Admin role) to configure payment methods.
</Note>

## Where to find payment settings

Go to **Settings → Payment Settings** in the left sidebar. The page is divided into tabs — one per gateway, plus a tab for offline payment methods.

***

## Setting up an online payment gateway

oFatoura supports the following gateways: **Paymob**, **AmwalPay**, **Stripe**, **Razorpay**, **PayPal**, **Payfast**, **Paystack**, **Flutterwave**, and **Xendit**.

Each gateway follows the same general setup pattern:

<Steps>
  <Step title="Open the gateway tab">
    In **Settings → Payment Settings**, click the tab for the gateway you want to configure (for example, **Stripe** or **Paymob**).
  </Step>

  <Step title="Enable the gateway">
    Toggle the **Enable** switch at the top of the tab to turn the gateway on.
  </Step>

  <Step title="Choose test or live mode">
    Use the **Mode** selector to choose **Test** (sandbox) or **Live** (production). Always verify in test mode before switching to live.
  </Step>

  <Step title="Enter your API credentials">
    Fill in the credential fields shown for that gateway. The exact fields vary by provider — see the table below for what each gateway requires.
  </Step>

  <Step title="Save your changes">
    Click **Save** (or the equivalent save button on the tab). The gateway becomes available as a payment option immediately.
  </Step>
</Steps>

### Credential fields by gateway

| Gateway     | Fields required                                     |
| ----------- | --------------------------------------------------- |
| Paymob      | API Key, Integration ID(s), HMAC Key, Webhook Token |
| AmwalPay    | API Key, Secret Key                                 |
| Stripe      | API Key (Publishable), Secret Key                   |
| Razorpay    | API Key, Secret Key                                 |
| PayPal      | PayPal email address                                |
| Payfast     | Merchant ID, API Key, Secret Key                    |
| Paystack    | API Key (Public), Secret Key                        |
| Flutterwave | API Key, Secret Key                                 |
| Xendit      | API Key, Secret Key                                 |

<Note>
  Paymob supports multiple integration IDs. Add each integration ID on a separate line if your Paymob account handles more than one payment channel (for example, card and mobile wallet).
</Note>

### Webhook URLs

Each gateway tab displays a **Webhook URL** for that provider. Copy this URL into your gateway's dashboard so oFatoura can receive payment confirmations. These URLs are read-only in oFatoura — you configure them on the gateway side, not here.

<Warning>
  Switching from **Test** to **Live** mode without updating your credentials to production keys will cause payment failures. Double-check both the mode selector and all credential fields before going live.
</Warning>

***

## Cash payments

On the gateway settings page, there is a **Cash** section with an enable/disable toggle. Turn this on to allow staff to record cash payments against orders. No credentials are needed for cash.

***

## QR code payments

If you accept payments by QR code (for example, a local wallet or bank transfer QR):

<Steps>
  <Step title="Enable QR payment">
    Find the **QR Payment** option in the payment settings and enable it.
  </Step>

  <Step title="Upload your QR image">
    Upload the QR code image for your payment account. This image is shown to customers at checkout so they can scan and pay.
  </Step>

  <Step title="Save">
    Save your changes. The QR payment option will appear when staff process an order.
  </Step>
</Steps>

***

## Custom offline payment methods

Use offline payment methods for scenarios like bank transfer, cheque, or any other manual collection process you want to name and track.

### Adding a new offline method

<Steps>
  <Step title="Go to the Offline Payments tab">
    In **Settings → Payment Settings**, click the **Offline Payments** tab.
  </Step>

  <Step title="Click Add">
    Click the button to add a new offline payment method.
  </Step>

  <Step title="Fill in the details">
    Enter a **Method name** (required, up to 255 characters) and a **Description** explaining the method to staff (required, up to 1,000 characters).
  </Step>

  <Step title="Set the status">
    Leave **Status** as **Active** so the method appears at checkout, or set it to **Inactive** to hide it without deleting it.
  </Step>

  <Step title="Save">
    Save the method. It will immediately appear as a payment option in the POS.
  </Step>
</Steps>

### Editing or deleting offline methods

From the **Offline Payments** tab, each listed method has edit and delete actions. Deleting a method removes it from the list; historical payments recorded against it are preserved in your payment records.

***

## Related

* [Payment Records and Due Payments](/payments/payment-records)
* [Taking Payments, Splits, and Tips](/pos/payments-and-tips)
* [Payments and Expenses Overview](/payments/index)
