Preview Leffel Consulting Payments is in active development and migrating to Finix — the API isn't publicly live yet, and some examples still reflect the outgoing build. Request early access →

API Reference

Errors

Errors are returned as application/problem+json (RFC 7807) with type, title, status, and detail.

Shape

The title and detail fields are the load-bearing, human-readable parts. Provider errors carry a distinct type URI and a stripeType; other errors use about:blank. Every failure includes a traceId (echoed in the X-Correlation-Id response header) — include it when contacting support.

Status catalog

400

Invalid request

A field failed validation (e.g. "Amount must be at least 50 cents.").

400

Missing header

A required header is absent (e.g. the Idempotency-Key header on payment creation).

400

No connected account

The merchant has not created a connected account yet.

401

Unauthorized

The API key is missing or invalid. (Empty body.)

404

Not found

The referenced resource (e.g. lcPaymentId) does not exist.

409

Idempotency conflict

The Idempotency-Key was reused with a different request body.

409

In progress

A request with this Idempotency-Key is still being processed. Retry shortly.

429

Too Many Requests

Per-tenant rate limit exceeded. (Status only, no body.)

502

Payment provider error

The upstream processor returned an error (type: …/errors/stripe, adds stripeType). Includes the provider message.

500

Internal server error

An unexpected error occurred. Includes a traceId (also in the X-Correlation-Id response header).

Example error
{
  "type": "https://lcstripeapi.leffelconsulting.com/errors/stripe",
  "title": "Payment provider error",
  "status": 502,
  "detail": "Your card was declined.",
  "stripeType": "card_error",
  "traceId": "0HN7..."
}