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

# Add or edit a customer

Add or edit a customer — not in Cloud today; do it at your payment provider.

**Where:** Payments → Customers → **Add New** / a customer · `/projects/<project>/payments/customers/new` — not available today

{% hint style="warning" %}
Cloud has no Customers screen yet, and Norbix has no customer endpoints, so the SDK, the CLI and the API cannot do it either. The V2 code for this screen exists, but its routes are switched off (*restore when backend support returns*); the address `/projects/<project>/payments/customers` opens the **404** page. Create and edit customers at your provider (for example **Stripe Dashboard → Customers**), and keep the provider customer id on your own user record or a Database collection.
{% endhint %}

## Before you start

* A [connected integration](/codemash/cloud/payments/integrations/providers.md), so Norbix hears about the customers you create at the provider.

## Steps

1. Open your provider's dashboard and create or change the customer there. Create and edit customers at your provider (for example **Stripe Dashboard → Customers**), and keep the provider customer id on your own user record or a Database collection.
2. In Norbix, [create a payment trigger](/codemash/cloud/payments/triggers/new.md) for the provider events you care about.

## Result

The customer exists only at your provider. Norbix does not store it; it sees it when the provider sends an event that names it (its id is in the `@Model.Payment.ExternalIds.*` tokens of the trigger).

## Change or remove it later

* Change or remove the customer at your provider — see [Delete a customer](/codemash/cloud/payments/customers/delete.md).

## Do it from code

There is no customer call. What Norbix can do today is react when your provider reports a change, with a [payment trigger](/codemash/cloud/payments/triggers/new.md) on events such as `customer.subscription.created`, `customer.subscription.updated`, `customer.subscription.deleted` (Stripe), `subscription.created` (Paddle), `subscription_created` (Lemon Squeezy), `BILLING.SUBSCRIPTION.CREATED` (PayPal). List the events Norbix received:

```ts
const { list } = await norbix.hub.payments.getPaymentsWebhookLog({ limit: 20 });
for (const call of list) console.log(call.receivedOn, call.eventName, call.statusCode, call.description);
```

```sh
norbix hub payments webhook log get --limit 5
```

The client setup is on the [Payments page](/codemash/cloud/payments.md#use-it-from-code). API: [Get Payments Webhook Log](/codemash/api-reference/payments/webhooks/get-payments-webhook-log.md)
