Payments
A payment initiates collection against an accepted quote from GET /v1/quotes. POST /v1/payments accepts TEST keys only — a LIVE key receives 403. For production traffic use Transactions. Idempotency-Key required.
Create
PAYMENT_ID=$(curl -s -X POST "$BASE_URL/v1/payments" \
-H "X-API-Key: $THIQWAVE_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"quote_id": "'"$QUOTE_ID"'",
"collection_method": "VIRTUAL_IBAN"
}' | jq -r .id)
| Field | Required | Notes |
|---|---|---|
quote_id | yes | UUID of an accepted quote from GET /v1/quotes |
collection_method | yes | VIRTUAL_IBAN |
Same Idempotency-Key + same quote_id → original payment; different quote_id → 409 IDM_0001.
Get / List
curl "$BASE_URL/v1/payments/$PAYMENT_ID" -H "X-API-Key: $THIQWAVE_API_KEY"
curl "$BASE_URL/v1/payments?limit=20" -H "X-API-Key: $THIQWAVE_API_KEY"
Filters: status, from_date, to_date (ISO 8601), limit, cursor. Prefer Webhooks.