One call.
Everything after is ours.
Create a checkout, redirect the customer, listen for a webhook. Currency, tax, fraud, invoicing and disputes are resolved inside the ePayX network before the event reaches you.
import { ePayX } from "@epayx/node";
const epx = new ePayX(process.env.EPX_KEY);
const { url } = await epx.checkout.create({
product: "prod_pro_yearly",
customer: { email: "[email protected]" },
successUrl: "https://app.you.com/welcome",
});
// redirect the customer to `url`
from epayx import Client
epx = Client(api_key=os.environ["EPX_KEY"])
session = epx.checkout.create(
product="prod_pro_yearly",
customer_email="[email protected]",
success_url="https://app.you.com/welcome",
)
# redirect the customer to session.url
curl https://api.epayx.com/v1/checkout \
-u "$EPX_KEY:" \
-d product=prod_pro_yearly \
-d "customer[email][email protected]" \
-d success_url=https://app.you.com/welcome
# → { "id": "cs_…", "url": "https://pay.epayx.com/cs_…" }
Three ways in. Same receipt.
Pick the integration depth that matches your product. All three localise language, currency, tax and payment methods automatically.
Payment links
No code. Create a product in the dashboard, copy the link, paste it anywhere. Ideal for early access, lifetime deals and invoices.
Hosted checkout
One API call returns a URL. Redirect the customer, receive a webhook. Fully branded, 30 languages, PSD2-compliant out of the box.
Overlay
Drop a script tag, open the checkout as an overlay on your own page. Customers never leave your app. Same API, same webhooks.
Typed. Versioned. Boring.
Official SDKs for Node, Python, Go, Ruby and PHP, generated from the same OpenAPI spec that powers the reference. Every lifecycle change is a signed webhook.
- Idempotency keys on every write
- Signed webhooks with replay protection and automatic retries for 72h
- Sandbox that mirrors production, including tax rates and dispute simulation
- OpenAPI 3.1 spec, Postman collection, CLI
{
"type": "order.paid",
"id": "evt_01J8ZK3M",
"data": {
"order": "ord_88213",
"product": "prod_pro_yearly",
"customer": { "email": "[email protected]", "country": "DE" },
"amount": { "net": 10000, "tax": 1900, "currency": "EUR" },
"tax": { "rate": 0.19, "remitted_by": "epayx" },
"risk": { "score": 4, "liability": "epayx" },
"license": "EPX-7K2M-Q9RD-4XLP",
"payout_on": "2026-09-22"
}
}
Everything in one hub.
API reference
Every endpoint, parameter and error code. Generated from the spec, so it is never out of date.
Quickstart
From zero to a live checkout in about 20 minutes. Includes test cards and sandbox tax scenarios.
Webhook events
The full catalogue: orders, subscriptions, refunds, disputes, payouts and licensing.
Migration guides
Move subscriptions from Stripe, Paddle, Chargebee or FastSpring without interrupting billing.
Status & changelog
Live status, incident history and a versioned changelog with deprecation notices.
Developer support
Engineers answer integration questions. Typical response under four hours on business days.
Sandbox keys in two minutes.
Create an account, grab a test key, ship a checkout before lunch.