Who this is for

Project managers, founders, and engineers about to kick off an EPD integration. Use this page to stop a project from stalling halfway in because nobody set up the gateway account.

Before you write code

An EPD Commerce account

Go to commerce.epd.com. If you already have an EPD account, log in directly. Otherwise, create a sandbox account — after verifying your email you’ll be asked for your first name, last name, company name, and a password.

An EPD Gateway account

Card data lives in EPD Gateway. Your merchant onboarding will provision this for you. Confirm you can reach the gateway portal.

A sandbox API key

In the Merchant Portal, switch to your Demo Company from the profile avatar (top right), then open the gear icon → API KeyCreate API Key. Keys created inside the Demo Company are sandbox keys (epd_test_sk_...). Copy and store somewhere safe.

A webhook endpoint

A publicly reachable HTTPS URL where EPD will POST events. Local development: use ngrok or a similar tunnel.

Decisions to make up front

One-time, recurring, or both?

One-time payments use orders. Recurring billing uses products + plans + subscriptions. Picking now informs how you model your catalog.

Where do customers enter card details?

EPD Gateway hosted fields (recommended), hosted payment page, or a fully hosted checkout — each has trade-offs in PCI scope and customization.

Which currencies?

EPD supports multi-currency, but a single subscription must use one currency. Decide by market.

Who in your team gets keys?

A separate key per environment (dev / staging / prod) and per service. Restricted keys for narrow jobs.

Read these in order

Quickstart

Run a charge end-to-end. Builds intuition.

Authentication

How keys work. Get this right once.

Webhooks

Receive and verify events. Skipping this is the most common production mistake.

Idempotency

Why retries are safe. Protects you from duplicate charges.

The recipe that matches your use case