Payments
Initialize a Payment
Create a payment session and receive a hosted checkout URL to redirect your customer.
Initialize a Payment
POST /v1/transactions/initialize
Creates a payment session and returns a hosted checkout URL. Redirect your customer to checkoutUrl to complete the payment.
Use sk_test_… for sandbox, sk_live_… for production. The mode is inferred
from the key — no separate config needed.
Request
curl https://api.epayet.dev/v1/transactions/initialize \
-X POST \
-H "Authorization: Bearer sk_live_your_key_here" \
-H "Content-Type: application/json" \
-H "x-idempotency-key: order_123" \
-d '{
"amount": "250.00",
"currencyCode": "ETB",
"customerPhone": "+251911234567",
"merchantReference": "order_123",
"returnUrl": "https://yourstore.com/order/123/complete"
}'Response
{
"reference": "PAB12CD3420260813",
"checkoutUrl": "https://checkout.e-pay.et/pay/PAB12CD3420260813",
"status": "success",
"expiresAt": "2026-08-13T12:30:00.000Z"
}Headers
Prop
Type
Body
Prop
Type
Response
Prop
Type
Errors
| Status | Description |
|---|---|
400 | Invalid amount value or unrecognized currencyCode. |
401 | Missing or invalid API key. |
404 | No payment source found for your account — contact support. |
429 | Rate limit exceeded. |
Next: Verify a Payment — confirm completion before fulfilling an order.