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

# Payment Gateways

> Configure Stripe, PayPal, Tap, and Bank Transfer to accept client payments and automate subscription renewals.

<Info>
  **Path:** Administration → Payment Gateways (`/payment-gateways`) — Admin only

  The page shows four collapsible gateway cards. Enable any gateway by toggling it on and entering the required credentials, then click **Save**.
</Info>

## Supported Gateways

| Gateway           | Type                                | Auto-Renew         |
| ----------------- | ----------------------------------- | ------------------ |
| **Stripe**        | Online — card                       | ✅ Automatic        |
| **PayPal**        | Online — PayPal account             | ✅ Automatic        |
| **Tap**           | Online — Middle East card processor | ✅ Automatic        |
| **Bank Transfer** | Manual — wire transfer              | ⚠️ Manual approval |

***

## Bank Transfer

Simple setup — no API key required.

1. Toggle **Enable Bank Transfer**
2. Paste your bank account instructions in the **Payment Instructions** textarea:

```
Bank: First National Bank
Account: Your Company Ltd
IBAN: GB00 XXXX 0000 0000 0000 00
BIC: XXXXXXXX
Reference: [Invoice Number]
```

3. Click **Save**

When a client chooses Bank Transfer at checkout, they see these instructions and their subscription stays **Pending** until you manually approve the transaction in **Administration → Transactions**.

***

## PayPal

| Field             | Description                                      |
| ----------------- | ------------------------------------------------ |
| **Webhook URL**   | Auto-generated — copy to PayPal developer portal |
| **Sandbox Mode**  | Toggle for testing                               |
| **Client ID**     | From PayPal developer app                        |
| **Client Secret** | From PayPal developer app                        |
| **Webhook ID**    | From PayPal webhook configuration                |

***

## Stripe

| Field               | Description                                          |
| ------------------- | ---------------------------------------------------- |
| **Webhook URL**     | Auto-generated — copy to Stripe dashboard            |
| **Sandbox Mode**    | Toggle test mode (uses `pk_test_` / `sk_test_` keys) |
| **Publishable Key** | `pk_live_...` from Stripe API keys                   |
| **Secret Key**      | `sk_live_...` from Stripe API keys                   |
| **Webhook Secret**  | Signing secret from Stripe webhook endpoint          |

### Setting Up Stripe Webhooks

1. Copy the **Webhook URL** shown in the Stripe card
2. In the Stripe dashboard → **Developers → Webhooks → Add Endpoint**
3. Paste the URL and select events:
   * `checkout.session.completed`
4. Copy the **Signing Secret** back into AreaWP

### Stripe Test Cards

| Card Number           | Behavior           |
| --------------------- | ------------------ |
| `4242 4242 4242 4242` | Always succeeds    |
| `4000 0000 0000 0002` | Always declined    |
| `4000 0025 0000 3155` | Requires 3D Secure |

***

## Tap

| Field                 | Description                  |
| --------------------- | ---------------------------- |
| **Merchant ID**       | Your Tap merchant identifier |
| **Environment**       | Test or Live toggle          |
| **Public Key (Test)** | Test mode publishable key    |
| **Secret Key (Test)** | Test mode secret key         |
| **Public Key (Live)** | Live mode publishable key    |
| **Secret Key (Live)** | Live mode secret key         |

***

## Save

After configuring any gateway, click the **Save** button at the bottom of the page. All gateway settings are saved together in a single request.

<Tip>
  You can enable multiple payment gateways simultaneously. Clients choose their preferred method at checkout.
</Tip>
