> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/cloud/payments/integrations.md).

# Integrations

**Where:** Payments → Integrations · `/projects/<project>/payments/integrations`

A payments **integration** is one connected gateway or shop. Each integration gets **one webhook URL** — paste it into the provider's dashboard and Norbix verifies the signature and normalizes every event.

<figure><img src="/files/6jn0ErgfSB9Skwx5cNcI" alt=""><figcaption><p>Payments → Integrations.</p></figcaption></figure>

## What you can do here

The **Payments Integrations** list shows columns **Integration Name**, **Gateway**, and **Enabled**. Press **Add New Integration** to open the provider picker — Stripe, Paddle, Lemon Squeezy, Shopify, WooCommerce, Checkout.com, Authorize.Net, Adyen, Mollie, Braintree, or PayPal — then fill that provider's credential form (see [Providers](/cloud/payments/integrations/providers.md) for the exact fields per gateway).

On a saved integration you can:

* **Test** — runs automatically against the gateway's API with the stored credentials; no input needed. You then confirm delivery manually (a webhook round-trip or sandbox charge landed) to get the CONFIRMED badge.
* **Enable / Disable / Delete** the integration. Payments has no "default integration" concept — triggers pick integrations explicitly.
* **Webhook URL** — shown after the first save (the URL contains the integration id): `<hub-url>/payments/webhooks/<accountId>/<projectId>/<gateway>/<integrationId>`. Paste it into your gateway's webhook settings.
* **Received webhooks** — the last 25 calls the gateway made to this URL, with **Received**, **Event**, **Status**, and **Outcome** columns and a **Refresh** button. Every outcome is logged (processed, duplicate, bad signature, unknown event) and kept for 14 days — your first stop when a gateway says it called Norbix.

## Example: connecting Stripe

Pick the gateway and fill the form — for Stripe, the signing secret used to verify incoming webhooks:

<figure><img src="/files/gmi09sSDlc33TkZlOzTK" alt=""><figcaption><p>The New integration form, filled.</p></figcaption></figure>

After **Save** you get the integration's **webhook URL** — paste it into the gateway's own dashboard (for Stripe: Developers → Webhooks) and every event starts flowing in, signature-verified and normalized:

<figure><img src="/files/HPjDES79W0x6oBAPPbYY" alt=""><figcaption><p>The saved integration with its webhook URL and actions.</p></figcaption></figure>

## Example: connecting PayPal

PayPal asks for your REST app **Client ID**, **Client Secret**, **Environment**, **Webhook ID**, and an optional **Brand Name**:

<figure><img src="/files/7E6nzyJI0FkJdmqVOSBW" alt=""><figcaption><p>The New PayPal integration form, filled.</p></figcaption></figure>

<figure><img src="/files/w5uRSOrEcBbYCmoPZtAF" alt=""><figcaption><p>The saved PayPal integration.</p></figcaption></figure>

## Use it from code

[Payments → Integrations](/sdks-and-cli/payments/integrations.md).

## API reference

Endpoints: [Payments → Integrations](/api-reference/payments/integrations.md) — save, get, test, enable, disable, delete, and confirm-human-delivery.
