Skip to main content

Webhook Setup

Create Webhook

curl -X POST https://api.pay.peer.xyz/api/v1/webhooks \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key" \
-d '{
"url": "https://yoursite.com/webhooks/zkp2p",
"events": ["PAYMENT_SETTLED", "PAYMENT_FAILED", "PAYMENT_EXPIRED", "ORDER_FULFILLED"]
}'
{
"url": "https://yoursite.com/webhooks/zkp2p",
"events": [
"PAYMENT_SETTLED",
"PAYMENT_FAILED",
"PAYMENT_EXPIRED",
"ORDER_CREATED",
"ORDER_FULFILLED",
"ORDER_CANCELLED",
"PAYMENT_CREATED",
"PAYMENT_CANCELLED",
"PAYMENT_BRIDGE_PENDING",
"PAYMENT_BRIDGE_SUBMITTED",
"PAYMENT_BRIDGE_COMPLETED",
"PAYMENT_BRIDGE_FAILED"
]
}

Endpoint Requirements

  1. Accept POST with JSON payload.
  2. Verify webhook signature.
  3. Return 2xx quickly (within 30 seconds).
  4. Process asynchronously.

Manage Webhooks

List

curl https://api.pay.peer.xyz/api/v1/webhooks \
-H "X-API-Key: your_api_key"

Update

curl -X PATCH https://api.pay.peer.xyz/api/v1/webhooks/{webhookId} \
-H "Content-Type: application/json" \
-H "X-API-Key: your_api_key" \
-d '{"active": true}'

Delete

curl -X DELETE https://api.pay.peer.xyz/api/v1/webhooks/{webhookId} \
-H "X-API-Key: your_api_key"

Delivery History

curl https://api.pay.peer.xyz/api/v1/webhooks/{webhookId}/deliveries \
-H "X-API-Key: your_api_key"