# Merchant onboarding (https://prood.com/docs/guides/merchant-onboarding)

This guide takes you from a new account to a live store with payments. Allow about an hour, plus however long your domain's DNS takes.

## Step 1: Create your store [#step-1-create-your-store]

1. Go to [prood.com/dashboard/register](https://prood.com/dashboard/register).
2. Enter your name, your store name, your **Store address**, your email and a password. The address follows your store name until you edit it.
3. Choose **Create account and store**.

You're the store's owner, and your store is live right away. You choose your store's prood.app address when you sign up. If it's taken, we add a few characters to the end. Find it under **Domains**, in the **Prood address** panel.

## Step 2: Check your store settings [#step-2-check-your-store-settings]

Open **Store settings**, under **Organization** in the sidebar.

- **Store details:** store name, description and business address.
- **Contact:** the email and phone number customers see.
- **Region:** currency, timezone and country.

## Step 3: Add products [#step-3-add-products]

Go to **Products** and choose **Add product**.

| Panel | Fields |
| --- | --- |
| **Details** | Name, description and URL slug. Leave the slug empty to make one from the name |
| **Pricing** | Price, and an optional compare-at price, shown crossed out next to the new one |
| **Status** | Draft, Active or Archived |
| **Inventory** | SKU, and an **In stock** switch |
| **Type and shipping** | Physical, Digital, Service or Event, and a **Requires shipping** switch |

Customers only see active products, and active products need a price. Set the status to **Active**, then choose **Add product** to save it.

Uploading product photos, variants, categories and stock counts are coming later to the dashboard. The API can add categories and sizes, starting on Grow. Paid plans are coming. Photo upload is coming later, by API too.

Shipping is fixed for now: Standard 15.00 in your currency (5 to 7 days), Express 35.00 (1 to 2 days). Setting your own rates is coming later.

## Step 4: Connect a payment account [#step-4-connect-a-payment-account]

Go to **Integrations**, under **Connections**, and choose a provider. Have the credentials ready:

| Provider | What to enter | Where to find it |
| --- | --- | --- |
| **Stripe** | Publishable key, secret key, signing secret | Stripe dashboard, under Developers |
| **Easypay** | Account ID and API key | Your Easypay account |
| **Ifthenpay** | Anti-phishing key and Multibanco key, plus MB WAY and credit card keys if you use them | Ifthenpay |

Each store's checkout runs on one provider, and Stripe comes first if it's connected. Your credentials are stored encrypted at rest. More in [Payment integration](/docs/guides/payment-integration).

## Step 5: Set up the webhook [#step-5-set-up-the-webhook]

Orders are only marked as paid when your provider tells your store a payment arrived. Each provider's page in **Integrations** shows your store's webhook URL. Add it in your provider's account, following [Webhook setup](/docs/guides/webhook-setup).

## Step 6: Add a domain [#step-6-add-a-domain]

Your prood.app address works from the start, so this step is optional.

1. Go to **Domains**, under **Connections**.
2. Add your domain under **Custom domains**, such as `shop.example.com`.
3. Add the DNS record the dashboard shows at your registrar:

| Your domain | Type | Name | Value |
| --- | --- | --- | --- |
| A subdomain, like `shop.example.com` | CNAME | `shop.example.com` | `cname.vercel-dns.com` |
| The root domain, like `example.com` | A | `@` | `76.76.21.21` |

The dashboard may list a verification record too. DNS changes usually take minutes, and can take up to 48 hours. HTTPS is set up automatically once the domain is verified.

Free includes one custom domain.

## Step 7: Invite your team [#step-7-invite-your-team]

| Feature | Availability |
| --- | --- |
| Team invites | From Grow. Free has one seat, the owner. |

On a plan with seats, go to **Team** and invite people by email as **Admin** or **Member**. Admins can run the store. Members can see the store's data but can't change it. Paid plans are coming.

## Step 8: Place a test order [#step-8-place-a-test-order]

Use your provider's test keys, then:

1. Open your store and add a product to the cart.
2. Go through checkout and pay with test details.
3. Check the order appears under **Orders**, with its payment showing **Paid**.

### Test checklist [#test-checklist]

- The store shows your name and active products
- Adding to the cart and changing quantities works
- Checkout collects the address and contact details you expect
- The payment completes
- The order shows up in the dashboard as **Paid**
- Your custom domain opens the store, if you added one

## Step 9: Go live [#step-9-go-live]

1. Replace your test keys with live keys in **Integrations**.
2. Add your webhook URL to your provider's live settings, and paste the live signing secret if you use Stripe.
3. Check your domain opens with HTTPS.
4. Watch your first real orders under **Orders**.

## Related pages [#related-pages]

<Cards>
  <Card title="Products" href="/docs/apps/dashboard/products" description="What each product field does." />
  <Card title="Orders" href="/docs/apps/dashboard/orders" description="Fulfill, cancel and refund." />
  <Card title="Domains" href="/docs/apps/dashboard/domains" description="Custom domain setup." />
  <Card title="Payment integration" href="/docs/guides/payment-integration" description="Connect a payment account." />
</Cards>
