# Developers | ezPayments

> Build on ezPayments: a REST API for payment links, transactions and webhooks, with test and live keys, idempotent writes and signed events.

Source: https://ezpayments.co/developers

For developers

# Build on ezPayments.

A REST API for payment links, transactions and webhooks. Test keys and live keys, idempotent writes, and signed events.

[Get API keys](https://app.ezpayments.co/register)[API reference](https://ezpayments.co/developers/api)

Create a link

curl -X POST https://app.ezpayments.co/api/v3/payment-links/ \\
  -H "Authorization: Bearer sk\_test\_…" \\
  -H "Idempotency-Key: 8c1e2f…" \\
  -H "Content-Type: application/json" \\
  -d '{
    "amount": "250.00",
    "description": "Logo design, final invoice",
    "customer\_email": "client@example.com",
    "send\_email": true
  }'

Response

{
  "data": {
    "id": "62f1ac1b-fde0-4351-b004-00c2e89606a4",
    "url": "https://app.ezpayments.co/pay/62f1ac1b-…/",
    "amount": "250.00",
    "status": "active"
  },
  "meta": { "request\_id": "req\_a0261129fc684ca6", "mode": "test" }
}

Webhook

POST /your/webhook
X-EzPayments-Event: payment\_link.paid
X-EzPayments-Delivery: 9b2f5a10-…
X-EzPayments-Signature: t=…,v1=…

{ "id": "62f1ac1b-…", "status": "paid", "amount": "250.00", … }

## Documentation

[/api/v3/

### API reference

Authentication, errors, pagination, idempotency and every endpoint.

](https://ezpayments.co/developers/api)[X-EzPayments-Signature

### Webhooks

Events, delivery, signature checks in Node and Python, retries.

](https://ezpayments.co/developers/api#webhooks)[WooCommerce · Shopify

### Plugins

Take payments in your store with no code.

](https://ezpayments.co/developers/plugins)[Copy · paste

### Build with AI agents

One prompt that tells your coding assistant how to integrate end to end.

](https://ezpayments.co/developers/ai-agents)

## Four resources

/api/v3/payment-links/

### Payment links

Create, update, cancel and list links. Each returns its URL and fee breakdown.

/api/v3/transactions/

### Transactions

Read payments with status, fee and settlement date.

/api/v3/webhook-endpoints/

### Webhook endpoints

Register URLs and choose the events each one receives.

/api/v3/api-keys/

### API keys

Create, list and revoke test and live keys.

## Signed webhooks

Every event is POSTed to your endpoint with an HMAC-SHA256 signature over the timestamp and the payload, so you can verify it came from ezPayments.

-   payment\_link.created
-   payment\_link.paid
-   payment\_link.expired
-   payment\_link.cancelled

**X-EzPayments-Signature**: t=1793134247,v1=5d41…
**X-EzPayments-Event**: payment\_link.paid
**X-EzPayments-Delivery**: 9b2f…

signature = HMAC\_SHA256(secret,
  "{timestamp}.{raw\_body}")

## Safe to retry. Safe to ship.

### Test and live keys

Build against sk\_test\_, switch to sk\_live\_ when you go live.

### Idempotency keys

Send an Idempotency-Key on POST and a retry never creates a second link.

### IP allowlists

Ask us to lock a key to the addresses your servers call from.

### Rate limits

60 requests per minute per key, with a Retry-After header on 429.

## No code needed?

[

### Shopify

Install the ezPayments app and take payments at your Shopify checkout.

](https://ezpayments.co/developers/plugins#shopify)[

### WooCommerce

Add the ezPayments plugin to your WordPress store.

](https://ezpayments.co/developers/plugins#woocommerce)
